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

Jak uzyskać wyniki z nodejs za pomocą pakietu mysql?

Ponieważ node.js jest nieblokujący i asynchroniczny, to w tym kodzie:

client.query("SELECT * FROM users", function (error, results, fields) {
    if (error) {
        //
    }
    if (results.length  > 0) {
        self.users = results;
    }
});

console.log(this.users);

dane z bazy danych prawdopodobnie nie są jeszcze ładowane do zmiennej users podczas próby zalogowania jej do konsoli. Możesz to sprawdzić, jeśli wykonasz swój console.log operacja w obrębie zapytania, na przykład:

client.query("SELECT * FROM users", function (error, results, fields) {
    if (error) {
        //
    }
    if (results.length  > 0) {
        console.log(results);
    }
});

Aby przekazać wynik do zmiennej po zakończeniu operacji, możesz opakować wywołanie bazy danych klienta w funkcję z parametrem wywołania zwrotnego i ustawić zmienną po wywołaniu wywołania zwrotnego, na przykład:

function query(sql, callback) {
    client.query(sql, function (error, results, fields) {
        if (error) {
            //
        }
        if (results.length  > 0) {
            callback(results);
        }
    });
}

query("SELECT * FROM users", function(results) {
    self.users = results;
    console.log(self.users);
});

Powyższy kod to tylko koncepcja.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL:Połącz listę wartości w tabeli

  2. Znaki UTF-8 wyświetlane jako ISO-8859-1

  3. Zmienna PHP i zapytanie MySQL LIKE nie działa

  4. przy użyciu MySql.Data.MySqlClient; nie działa

  5. PHP Spróbuj i złap dla SQL Insert