gpt4 book ai didi

mysql - 对象不是与nodejs一起使用的mysql db中的函数

转载 作者:行者123 更新时间:2023-11-30 23:30:17 25 4
gpt4 key购买 nike

我正在关注 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');
};

最佳答案

不确定这是导致您的特定消息的原因,但在 ClientReady 中,您在 INSERT 有机会之前调用了 GetData执行;您应该在内部 INSERT 的回调中执行此操作。

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

关于mysql - 对象不是与nodejs一起使用的mysql db中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11069955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com