如何解决MySQL结果未定义
该代码应执行并比较ID上的标志。它引发错误TypeError: Cannot read property 'length' of undefined
,当我在其中放置console.log以查看结果时,即使它应该从MySQL查询返回,它也返回未定义的状态。 MysqL已正确设置,并且该表存在。
这是因为Javascript是异步的吗?我该如何解决?
con.query(`SELECT * FROM pedodb WHERE ID = ?`,[ID],function (err,result,fields) {
if (result.length > "0") {
if (result[0].flag == "P") {
console.log("This isn't logged")
}
}
});
解决方法
我能解释您的观察的唯一方法是结果集为空,或者在查询期间发生错误。要检查这一点,您可以使用:
con.query("SELECT * FROM pedodb WHERE ID = ?",[ID],function (err,result,fields) {
if (err || !result || result.length == 0) {
// handle error or empty result set here
console.log("Something went wrong");
}
else if (result[0].flag == "P") {
console.log("This isn't logged")
}
}
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。