javascript - 无法使用 Express/Node 从 mysql 结果获取值

标签 javascript express

我正在开发用于身份验证的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.usernameresults.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/

相关文章:

JavaScript mouseup 和 mousedown 事件

javascript - 使用 getElementsByClass 时无法更改类

javascript - node js退出状态8,错误代码0在mac上运行

node.js - 在启动删除操作之前,Sequelize 有没有办法检查表中是否存在一行?

javascript - 为整个路线nodejs申请条件

javascript - 无法将服务返回的对象分配给 $scope

javascript - 我可以在 firebug profiler 函数列表中看到这些调用吗?

javascript - 使用 Javascript 的第一步 : trying to debug

node.js - EJS - 包含来自与当前目录不同的目录的包含内容

node.js - Angular 和 Node.JS Express 如何在同一个端口运行?