首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Node.js中将MySQL数据库的结果放在一个变量中?

如何在Node.js中将MySQL数据库的结果放在一个变量中?
EN

Stack Overflow用户
提问于 2018-07-17 04:43:56
回答 1查看 999关注 0票数 1

我在node.js应用程序中遇到了一个问题。我正在连接到数据库并获取数据

代码语言:javascript
复制
let users = {};
let currentUser = "example"; // this variable changes every time a user connects
connection.query('SELECT * FROM users WHERE name="'+currentUser+'"', function (err, result) {
  if (err) console.log(err);
  users[currentUser] = result[0];
});
console.log(users[currentUser]);

当我尝试从函数内部console.log result[0]时,它返回以下内容:

代码语言:javascript
复制
RowDataPacket {
n: 11,
id: 'VKhDKmXF1s',
name: 'user3',
status: 'online',
socketID: 'JbZLNjKQK15ZkzTXAAAB',
level: 0,
xp: 0,
reg_date: 2018-07-16T20:37:45.000Z }

我想将来自MySQL的结果放入users.example或类似的内容中,但当我尝试该代码时,它返回undefined。因此,我以console.log(users[currentUser].id)为例,它显示了一个错误

代码语言:javascript
复制
TypeError: Cannot read property 'id' of undefined

那么,如何将来自结果的数据放入变量users[currentUser]中呢

EN

回答 1

Stack Overflow用户

发布于 2018-07-17 05:07:35

connection.query是异步调用。在查询从db获取数据之前调用console.log。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51369841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档