mysql - 重新抛出非 MySQL 错误 Node.js

标签 mysql node.js npm

您好,下面的代码从 mysql 数据库加载单个字段,但是当它到达点 result[0].IdUtente 时,会生成以下错误。我该如何解决?

错误:

 throw err; // Rethrow non-MySQL errors
        ^

TypeError: Cannot read property 'IdUtente' of undefined

代码:

var query = "SELECT IdUtente FROM Utente WHERE Username = " + sql.escape(Username) + " and Password=MD5(" + sql.escape(Password) + ") and Tipo!='Risorsa' ";
var ret=DbConfig.query(query, function (err, result) {
    if (err) {
        console.log("Errore login: " + err);
    }
    else {
        console.log(result[0].IdUtente);
        IdUtente = result[0].IdUtente;

    }

});

最佳答案

当查询拉取空结果时会发生此错误。您必须首先使用 result.length 属性检查结果的长度,只有当结果大于 0 时才必须使用索引结果。 请检查下面的代码。

var query = "SELECT IdUtente FROM Utente WHERE Username = " + sql.escape(Username) + " and Password=MD5(" + sql.escape(Password) + ") and Tipo!='Risorsa' ";
var ret=DbConfig.query(query, function (err, result) {
    if (err) {
        console.log("Errore login: " + err);
    }
    else {
        //check to see if the result is empty
        if(result.length > 0){
            console.log(result[0].IdUtente);
            IdUtente = result[0].IdUtente;
       }
    }
});

关于mysql - 重新抛出非 MySQL 错误 Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54293646/

相关文章:

node.js - 在同一页面中使用 Twitter 进行身份验证

reactjs - 找不到模块 : Can't resolve './reducers/index'

javascript - 无法使用 npm 5.6.0 安装 cordova

java - 刷新 jtable 的内容

mysql - 来自具有不同条件的不同表的多个 SUM

php MySQL 选择优先级

javascript - 在 package.json 中设置包版本

node.js - Azure 移动应用程序迁移后出现故障

npm - 使用 npm copyfile 将文件复制到另一个目录

javascript - 如何创建多个jquery表单字段并插入mysql数据库,而不使用mysql_real_escape_string