我正在开发一个用于身份验证的复数模块,而且我实际上正试图对用户进行身份验证。
connection.query('SELECT * FROM users WHERE username LIKE ?', [data.username], function (err, results) {
if (err) throw err;
var results=(JSON.stringify(results));
console.log(results);
console.log(results.password)
if(results.password === password){
var user = results;
// done(null, user);
} else {
console.log('else')
// done('Bad password', null)
}
});
我有这个mysql查询,它查找与用户名对应的记录,然后返回err
或results
。我已使用JSON.stringify
转换初始结果:
[ RowDataPacket { id: 12, username: 'qqq', password: 'qqq' } ]
对此:
[{"id":12,"username":"qqq","password":"qqq"}]
但是results.username
和results.password
僵尸程序未定义。因此,在我看来,stringyfied结果是一个包含对象的数组。
但是当我做的时候
console.log(results[0].username);
console.log(results[0].password);
他们仍然是undefined
。那么如何将用户名/密码存储在变量中?
答案 0 :(得分:1)
尝试循环遍历结果集,如下所示:
for (var i = results.length - 1; i >= 0; i--) {
var current = results[i];
console.log(current);
}
如果一切顺利,您应该能够检查每个变量:
current.username
等。