【发布时间】:2020-10-21 21:28:51
【问题描述】:
我正在尝试使用 mysql 在 Node.js 中为 Discordbot 创建一个循环,该循环等待 mysql 的结果与我想要的匹配,但我得到的只是这个错误: 抛出错误; // 重新抛出非 MySQL 错误 类型错误:无法读取未定义的属性“天”
MySql 连接和其他一切正常。但是当他没有找到结果时,我得到了这个错误,我的机器人崩溃了。
我的代码:
var requestloop = setInterval(function(){
var con = mysql.createConnection({
host: process.env.IP,
user: process.env.US,
password: process.env.PW,
database: "XYZ"
});
con.connect(function(err) {
if (err) throw err;
con.query("SELECT name,day FROM team WHERE day='0:45'", function (err, result) {
if (err) throw err;
//Sending Congrats
if (result[0].day == "0:45")
{
let Worktime = new MessageEmbed()
.setTitle(result[0].name + `, Congratulations, you've finished work for today`)
.setColor("GREEN");
client.channels.cache.get('702139096683905054').send(Worktime);
con.end();
}
else
{
return con.end();
}
});
});
}, 60000); //1 Minute
【问题讨论】:
-
你能 console.log(result) 吗?
-
@Cursed 没有我可以记录的结果,这就是问题 xD。我希望代码忽略错误并返回。如果现在有结果,则在 1 分钟后重试。
-
if(result? result[0].day : "0:44" == "0:45") 试试这个>
-
我试过了,但不幸的是我仍然得到未定义的错误'day'
-
好的,现在我得到了结果 => [ RowDataPacket { day: '0:47' } ]
标签: mysql node.js discord.js