I'm using mysql from npm. How do I evaluate RESULT when no record is found?
Here is my sql select code, I'm using a Promise to handle async query.
var sql = 'SELECT * FROM member WHERE username = ?'
return new Promise((resolve, reject) => {
var result = con.query(sql, [username], function (error,result) {
if (error) {
reject(error)
} else {
resolve(result)
}
})
I'm using try/catch to handle result. I know that the RESULT is a array of objects. If a record is found, Object.key(result.forEach(function(key) function unpacks RESULT fine. However, if no record is found, I am having trouble evaluation RESULT for this condition. The if (result == null) does not catch no record found. I've have tried a number of other code syntax .
Any help would be appreciated
try {
var result = await db.read(username,password);
if (result == null) {
console.log('Logon failed user not registered')
res.render('pages/logonerror')
} else {
Object.keys(result).forEach(function(key) {
var row = result[key];
console.log(row.username)
console.log(row.password)
console.log(row.level)
console.log(row.special)
})
}
console.log('User Logon Complete')
res.render('pages/logonok');
}
catch (err) {
console.log('Logon Failed ' + err);
res.render('pages/logonerror');
}
})
Rich Fortner