0

DB にクエリを実行すると、次のエラーが発生します。

TypeError: Cannot call method 'query' of undefined
    at Object.<anonymous> (/home/nodeuser/myapp_node/index.js:51:17)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:901:3

私のコードは次のようになります:

var mysql = require('mysql');
var mysqlConnection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '',
  database : 'carousel',
  debug : true,
}).connect(function(err) {
    if ( !err ) {
        console.log("Connected to MySQL");
    } else if ( err ) {
        console.log(err);
    }
});


var userId = 23

mysqlConnection.query('SELECT * FROM tusers WHERE id = ?', [userId], function(err, results) {
    console.log(err);
    console.log(results);
});

「mysql」がnode_modulesにあることを確認しました。また、コンソールに「Connected to MySQL」と表示されます。

どうすればこれを機能させることができるか知っていますか?

4

2 に答える 2

0

問題は、mysql が初期化プロセスで接続を確立しようとしていることですが、準備が整う前にコードが mysqlConnection を使用しようとしていることだと思います。

接続が良好であると表示されている場所に検索を配置する必要があります。

また。プールの使用を検討する必要があると思います。毎回新しい接続を行うには、かなりの時間がかかります。

于 2013-10-28T06:43:18.077 に答える