Rethrow non-MySQL errors Node.js
您好,下面的代码从mysql数据库加载单个字段,但当它到达结果[0]点时,将生成以下错误。我如何解决它 错误:Rethrow non-MySQL errors Node.js,mysql,node.js,npm,Mysql,Node.js,Npm,您好,下面的代码从mysql数据库加载单个字段,但当它到达结果[0]点时,将生成以下错误。我如何解决它 错误: throw err; // Rethrow non-MySQL errors ^ TypeError: Cannot read property 'IdUtente' of undefined var query = "SELECT IdUtente FROM Utente WHERE Username = " + sql.escape(Username) + "
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;
}
});
代码:
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;
}
}
});
我也犯了同样的错误。意识到这是由于不正确的SQL语法造成的。还要确保您正在编写正确的SQL。