select * from where = ? [name]

186 views
Skip to first unread message

richard fortner

unread,
Jul 30, 2020, 10:47:53 AM7/30/20
to node-mysql
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

richard fortner

unread,
Jul 30, 2020, 11:16:46 AM7/30/20
to node-mysql
I discovered how to correctly catch "no Record Found"  See try/catch change below

try {
var result = await db.read(username,password);
if (result[0] == 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');
}
});
Reply all
Reply to author
Forward
0 new messages