sql >> データベース >  >> RDS >> Mysql

mysqlパッケージを使用してnodejsから結果を取得するにはどうすればよいですか?

    node.jsは非ブロッキングで非同期であるため、このコードでは次のようになります。

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

    コンソールにログインしようとしているときに、DBからのデータがusers変数にまだロードされていない可能性があります。 console.logを実行すると、チェックアウトできます。 クエリ内の操作(例:

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

    操作の終了時に結果を変数に渡すには、クライアントDB呼び出しをコールバックパラメーターを使用して関数にラップし、コールバックが呼び出されたときに変数を設定します。次に例を示します。

    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);
    });
    

    上記のコードは単なる概念です。



    1. MySQL:MySQLテーブルのすべてのレコードの内部レコード識別子のようなものはありますか?

    2. mysqlのタイムゾーンをphpMyAdminから変更します

    3. MySQL-アイテムを保存およびロードするための最良の方法

    4. JSONからmySQLテーブルを動的に作成できますか?