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でこの種のことが読みやすくなります。しかし、それらを説明することは、とにかくStackOverflowの回答の範囲を超えています。



    1. PHP+MySQLトランザクションの例

    2. 供給と需要のマッチング—ソリューション、パート1

    3. Pythonのmysqldbのあいまいなドキュメント

    4. Visual Studio 2010 EF4でMySQLを使用するにはどうすればよいですか?