【问题标题】:MySQL Result is undefined [duplicate]MySQL结果未定义[重复]
【发布时间】:2020-09-20 04:25:29
【问题描述】:

此代码应该执行和比较 ID 上的标志。它抛出一个错误TypeError: Cannot read property 'length' of undefined,当我在其中放置一个console.log 以查看结果是什么时,它返回了 undefined,即使它应该从 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")
            }
        }
    });

【问题讨论】:

  • 您能否再次检查您的ID 是否正确?
  • 这可能与您的other question 中的问题相同,您已经被告知要检查查询错误...

标签: mysql node.js


【解决方案1】:

我可以解释您的观察的唯一方法是结果集为空,或者查询期间发生错误。要检查这一点,您可以使用:

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")
        }
    }
);

【讨论】:

    猜你喜欢
    • 2021-02-19
    • 2014-09-10
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多