gpt4 book ai didi

javascript - 如何在 Node js 中检查 mysql 中是否存在行

转载 作者:行者123 更新时间:2023-11-29 22:22:45 27 4
gpt4 key购买 nike

我想检查mysql中是否存在记录,我正在Node js中工作。我的代码是:

//Some code before where I get classes

for (var m = 0; m <= (classes.length-1); m++) {
var Myurl = classes[m];

(function(Myurl){
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'mydatabase',
});
connection.connect();

//How do I write the query correctly?
var query = connection.query('SELECT * FROM mydatabase WHERE UrlLink=? LIMIT 1', [Myurl], function(err, rows, fields) {
if (err)
throw err;

SqlNames = rows;
logNames();

//If UrlLink is not present in mydatabase, then I want to proceed with:
request(Myurl, function(err, resp, body) {
// ...
}
});

function logNames() {
console.log(SqlNames);
}

connection.end();
};
})(Myurl);

因此,我想检查数据库中是否存在记录,如果不存在,我想处理请求,并将其添加到数据库中。现在我收到一个错误:

connection is not defined

最佳答案

您的连接未定义的原因是您正在 JavaScript 闭包中创建它。当您在函数内部初始化变量时,其作用域会阻止从该函数外部访问该变量。

这里是一些示例代码:

var Myurl = classes[m];
var connection = mysql.createConnection({ // Notice how this is not in a function?
host : 'localhost',
user : 'root',
password : 'password',
database : 'mydatabase',
});
connection.connect();
// Just like before.

在不知道您的数据库架构的情况下,我无法告诉您这是否是正确的查询,但它看起来对于您正在做的事情是正确的。

关于javascript - 如何在 Node js 中检查 mysql 中是否存在行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30558992/

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