我正在关注tutorial,但首先我收到了这个错误:
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');
};
答案 0 :(得分:0)
不确定这是导致您的具体消息的原因,但在ClientReady
您GetData
有机会执行之前,您正在调用INSERT
;你应该在{em>里面来自INSERT
。
更新:现在有人能够正确地缩进所有内容(提示:应该缩进的东西应该开始有4个空格),很明显你在{{1}中遇到了类似的问题}:你在回调有机会执行之前调用GetData()
。因此,您的client.end()
回调试图使用封闭的MySQL连接,这可能导致失败。