1

我正在关注教程,但首先我收到了这个错误:

deprecated: connect() is now done automatically

我更改了我的代码,但在那之后我遇到了这个错误:

object is not a function at Client.CALL_NON_FUNCTION_AS_CONSTRUCTOR (native)

我不知道,因为我是 nodejs 和 mysql 的新手,所以请帮帮我!

这是我的代码:

var Client = require('mysql').createClient({'host':'localhost','port':'3306','user':'root', 'password':''});
var client = new Client();

console.log('Connecting to mysql..');
ClientConnectionReady(client);

 ClientConnectionReady = function(client){
     client.query('USE login',function(err,result){
     if(err){
          console.log('cant create Table Error:'+ err.message);
      client.end();
      return;
 }
 ClientReady(client);
};

ClientReady = function(client){
    var values = ['fahad','tariq'];
    client.query('INSERT into Login SET username = ?, password = ?',values,
    function(err,result){
        if(err){
            console.log("ClientReady Error:" + error.message);
            client.end();
            return;
        }
        console.log('inserted:'+result.affectedRows+'ros.');
        console.log('Id inserted:'+ result.insertId);
    });
    GetData(client);
}

GetData = function(client){
    client.query(
        'SELECT * FROM Login',
            function selectCb(err,result,fields){
                if(err) {
                    console.log('Getdata Error'+err.message);
                    client.end();
                    return;
                }
                if(result.length>0) {
                    var firstResult = results[0];
                    console.log('username' + firstResult['username']);
                    console.log('password'+firstResult['password']);
                }
            });
    client.end();
    console.log('connection closed');
};
4

1 回答 1

0

不确定这是导致您的特定消息的原因,但是在您有机会执行之前ClientReady就打电话了;你应该.GetDataINSERTINSERT

更新:现在有人很好地正确缩进了所有内容(提示:应该缩进的东西应该以 4 个空格开头)很明显你有一个类似的问题GetData():你client.end()在你的回调有机会执行之前调用. 因此,您的SELECT回调正在尝试使用关闭的 MySQL 连接,这可能导致失败。

于 2012-06-17T12:20:30.763 回答