Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać wartość z zapytania mysql poza zapytaniem?

tl;dr wszystko dzieje się w oddzwonieniu.

Potykasz się o asynchroniczną naturę JavaScript. Do czasu, gdy Twój console.log(value); wywołanie zostanie uruchomione, zapytanie nie jest (koniecznie) zakończone. Nie ma więc możliwości, aby wynik zapytania był dostępny w tym czasie.

Wielu programistów używa wzorca takiego jak ten, z funkcją wywołania zwrotnego do obsługi następnego kroku po otrzymaniu wyniku zapytania.

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 obiekty ułatwiają czytanie tego typu rzeczy w node.js. Ale wyjaśnienie ich i tak wykracza poza zakres odpowiedzi na przepełnienie stosu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sprawdź te same wiersze w pętli while i umieść je w osobnej tabeli

  2. php Zapytanie INNER dołączania tabel

  3. CREATE TABLE nowa_nazwa_tabeli LIKE stara_nazwa_tabeli z wartościami AUTO_INCREMENT starej_nazwa_tabeli

  4. MySQL i NoSQL:pomóż mi wybrać właściwy

  5. użyj IFNULL w laravel