Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получа стойност от mysql заявка извън израза на заявката?

tl;dr всичко се случва при обратно повикване.

Вие се спъвате в асинхронния характер на Javascript. По времето, когато вашият console.log(value); повикването се изпълнява, заявката не е (непременно) завършена. Така че няма начин резултатът от заявката да бъде наличен в този момент.

Много разработчици използват модел като този, с функция за обратно извикване, за да се справят със следващата стъпка, когато пристигне резултатът от заявката.

function quo (success){
    value = connection.query(
       'SELECT role from `roles` where `id` = 1' , 
       function (error, results, fields) {
           if (error) throw error;
           console.log('The role is: ', results[0].role);
           success (results[0].role);
       });
}

quo (function (role) {
   console.log(role);
   /* do something useful with the role that came back from the query */
});

Promise обекти правят този тип неща по-лесни за четене в node.js. Но обяснението им е извън обхвата на отговор на Stack Overflow.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. манипулирайте DataGridView

  2. Грешка в синтаксиса на MySQL Десен синтаксис за използване близо до 'desc

  3. Вземете MAX от GROUP BY

  4. Импортиране на данни от MySQL с Sqoop - Грешка:Няма мениджър за низ за свързване

  5. Как да разбера колко mysql заявки е направил php скрипт?