您好,下面的代码从 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/