JavaScript查询数据库后Discord机器人返回[object Object],需提取数字ID
解决方案
你的问题出在直接将查询结果result传给message.reply——result是包含RowDataPacket对象的数组,Discord的reply方法无法直接解析对象,所以会输出[object Object]。
要获取实际的数字8,需要从数组的第一个元素中提取id属性:
修改代码中的message.reply(result)为:
message.reply(result[0].id)
完整修改后的代码:
conauth.connect(function(err) { if (err) throw err; conauth.query("SELECT id FROM account WHERE username = (?)",[object], function (err, result, fields) { if (err) throw err; console.log(result) // 提取id后再回复 message.reply(result[0].id) }); });
额外提示:如果查询可能返回空结果(比如未找到username为admin的记录),建议先判断结果是否存在,避免报错:
if (result.length > 0) { message.reply(result[0].id) } else { message.reply("未找到该用户的ID") }
内容的提问来源于stack exchange,提问作者Jada Developer
相关产品推荐
相关产品推荐

