gpt4 book ai didi

javascript - 尝试将数据库中的整数添加到 let 但总是返回 NaN

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:38:00 25 4
gpt4 key购买 nike

我一直在尝试从我的数据库 (MySQL/PHPMyAdmin) 中的表中获取一些数字,并将它们添加到代码中的“let”中,但最终输出始终为 NaN。

我尝试使用 parseInt() 函数以防表中的数字被视为字符串但没有成功。

var pointsQuery = "SELECT * FROM reacts WHERE userid=" + message.author.id;
con.query(pointsQuery, function (err, rows, fiedls) {
if (err) {
message.channel.send(err.message);
throw err;
}
let upvotes = 0;
let downvotes = 0;
for (var i in rows) {
upvotes = upvotes + parseInt(rows[i].upvotes, 10);
downvotes = downvotes + parseInt(rows[i].downvotes, 10);
}
upvotes = upvotes - parseInt(rows, 10);
downvotes = downvotes - parseInt(rows, 10);

console.log("up: " + upvotes);
console.log("down:" + downvotes);

let finalPoints = 10 + parseInt((upvotes - (downvotes * 2)), 10);

message.channel.send("<@" + message.author.id + "> has " + finalPoints + " points!");

})

我用于“调试”的两个 console.log 的输出应该是一个数字,但输出的是“NaN”。final points 应该是表达式 10 + (upvotes - (downvotes * 2))

最佳答案

在第 13 和 14 行中,您尝试解析并排列成一个 Int,这是不可能的。如果您想减去总行数,则需要使用 array.Lengtharray.Count 指定您想要的长度,具体取决于您的框架。此外,您确实应该创建一个变量 let len = parseInt(rows.Length, 10); 来减去,因为您使用相同的值执行了两次并且您不应该浪费资源(转载评论回复)

代码:

let len = parseInt(rows.Length, 10);
upvotes = upvotes - len;
downvotes = downvotes - len;

关于javascript - 尝试将数据库中的整数添加到 let 但总是返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57922368/

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