gpt4 book ai didi

sql - 将 SQL 查询结果作为 Node.js 中的变量返回

转载 作者:太空宇宙 更新时间:2023-11-03 22:55:42 26 4
gpt4 key购买 nike

我试图获取 SQL 查询的结果,以便在代码中的其他地方使用它,但我就是不知道如何获取它们。我有嵌套函数,因此我尝试通过两次 return 调用将其取出,但结果无效。

var users = getUsers();


function getUsers(req, res){
dbConnect(req,res);
return connection.query('SELECT * FROM USERS', function selectAll(err, rows, fields) {
if (err) {
throw err;
}
for (var i in rows) {
console.log(rows[i]);
}
return rows;
dbClose(req,res);
})
}

这里出了什么问题?

最佳答案

connection.query是一个异步函数。

rows 仅在 selectAll 函数中可用。如果您想对行执行某些操作,则需要从 selectAll 中执行。

users 将是未定义的,因为函数 getUsers 本身不返回任何内容(并且无法返回行。

而不是做

users = get Users();
doSomethingWithUsers(users);

改为这样做:

getUsers();

function getUsers(req, res){
dbConnect(req,res);
return connection.query('SELECT * FROM USERS', function selectAll(err, rows, fields) {
if (err) {
throw err;
}
for (var i in rows) {
console.log(rows[i]);
}
doSomethingWithUsers(rows);
dbClose(req,res);
})
}

或者在 getUsers 中传递一个回调函数来获取结果。

关于sql - 将 SQL 查询结果作为 Node.js 中的变量返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14968308/

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