我正在开发用于身份验证的pluralsight 模块,但我陷入了实际尝试对用户进行身份验证的阶段。
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
或 结果
。我使用 JSON.stringify
来转换初始结果:
[ RowDataPacket { id: 12, username: 'qqq', password: 'qqq' } ]
对此:
[{"id":12,"username":"qqq","password":"qqq"}]
但是 results.username
和 results.password
机器人未定义。所以在我看来,字符串化的结果是一个包含对象的数组。
但是当我这样做时
console.log(results[0].username);
console.log(results[0].password);
它们仍然是未定义
。那么如何将用户名/密码存储在变量中?
最佳答案
尝试像这样循环遍历结果集:
for (var i = results.length - 1; i >= 0; i--) {
var current = results[i];
console.log(current);
}
如果一切顺利,您应该能够使用以下命令检查每个变量:
当前.用户名
等..
关于javascript - 无法使用 Express/Node 从 mysql 结果获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38984787/