gpt4 book ai didi

javascript - 获取 MySQL 表中满足条件的所有行的数组

转载 作者:行者123 更新时间:2023-11-29 15:17:40 31 4
gpt4 key购买 nike

我正在开发一个discord.js机器人,所以我正在Node.Js中工作。我需要做的是搜索我的 MySQL 表并获取满足条件的所有行(我可以这样做),然后返回满足所述条件的所有行的第一列中的值。我尝试了多种不同的方法,但我的主要问题是我无法返回该值。我可以在查询中 console.log 它,但我确实需要返回它。

function fetchOrders(status){
textr = con.query(`SELECT * FROM orders WHERE OStatus = '${status}';`, function(err,rows) {
if(err){
throw err
}
var text = "";
if(rows.length<1){
text = "None"
}else{
for(i=0;i<rows.length;i++){
text = text + "`" + rows[i].OID.toString() + "`, "
}
}
if(text===""){
text = "None"
}
return text;
})
return textr
}

text是我需要的(直到return text;它工作完美),但是当我返回它时textr不是文本。如果有人能告诉我如何从查询中获取文本,我将非常感激。

最佳答案

将此函数转换为 Promise 风格,如下所示

function fetchOrders(status) {
return Promise((resolve, reject) => {
con.query(`SELECT * FROM orders WHERE OStatus = '${status}';`, function(
err,
rows
) {
if (err) {
reject(err);
}
var text = "";
if (rows.length < 1) {
text = "None";
} else {
for (i = 0; i < rows.length; i++) {
text = text + "`" + rows[i].OID.toString() + "`, ";
}
}
if (text === "") {
text = "None";
}
resolve(text);
});
});
}

并这样调用它

fetchOrders
.then(result => {
console.log(result);
})

或者

const response = await fetchOrders();

关于javascript - 获取 MySQL 表中满足条件的所有行的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59576844/

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