gpt4 book ai didi

mysql - node.js 从 mysql 查询中获取结果

转载 作者:行者123 更新时间:2023-11-29 05:09:16 25 4
gpt4 key购买 nike

为什么我无法得到结果?

var sql_data = connection.query(sql, function(error, results, fields) {
if(error) {
console.log(error);
return;
}
var rows = JSON.parse(JSON.stringify(results[0]));
console.log(rows);
});
console.log(rows);

第一个 console.log 没问题,显示对象,但第二个说:

ReferenceError: rows is not defined

怎么了?

最佳答案

您不应该像在代码的第一行中那样将异步函数分配给变量。您只需调用它并使用 callback 方法(在本例中为 function(error, results, fields))对结果执行操作。您的代码应如下所示

connection.query(sql, function(error, results, fields) {
if(error) {
console.log(error);
return;
}
var rows = JSON.parse(JSON.stringify(results[0]));

// here you can access rows
console.log(rows);
});

// here it will be undefined
console.log(rows);

第二个 console.log 中的 rows 变量将是未定义的,因为它是在不同的范围内定义的。即使您在 connection.query 之上执行 var rows,它仍然是未定义的,因为您在异步函数的回调中分配了它的值。您需要阅读有关此类操作的更多信息。

关于mysql - node.js 从 mysql 查询中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42373879/

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