来自 MySQL 数据库的查询在 node.js 和 JSON.stringify() 中返回 [Object] [Object] 似乎不起作用
Posted
技术标签:
【中文标题】来自 MySQL 数据库的查询在 node.js 和 JSON.stringify() 中返回 [Object] [Object] 似乎不起作用【英文标题】:Query from MySQL's database returns [Object] [Object] in node.js and JSON.stringify() do not seem to work 【发布时间】:2020-01-28 23:30:24 【问题描述】:我正在使用 mysql 数据库并创建了存储来自我的 Discord Bot 的用户字符名称的表。
我希望我的机器人在使用命令后在 Discord 上显示此列表,但它只返回 [object Object]
。
我尝试了JSON.stringify()
,但它不起作用。还有什么我不知道的吗?
con.query (`SELECT Name FROM $message.author.usernamelist`, (err, rows) =>
if(err) throw err;
JSON.stringify(rows);
message.reply(rows);
有无stringify结果如图]
【问题讨论】:
附带说明,您的代码容易受到a SQL injection attack 的攻击。 【参考方案1】:您应该将行数据保存在某个变量中。更新代码后:
con.query (`SELECT Name FROM $message.author.usernamelist`,
(err, rows, fields) =>
if(err) throw err;
rows = JSON.stringify(rows);
message.reply(rows);
【讨论】:
我已经尝试过了,但显然没有,它就像一个魅力,谢谢!如果我可以再问一个问题:它完美地工作并显示:“Name”:“X” 有没有办法只显示该行的值,例如只显示“X”而不显示“Name:”? 谢谢,有。例如,您需要在对对象进行字符串处理(通过循环或用于处理对象的模块)之前对其进行处理,然后将所有值放入数组中,然后发送数组。以上是关于来自 MySQL 数据库的查询在 node.js 和 JSON.stringify() 中返回 [Object] [Object] 似乎不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在单个查询中返回 node.js mysql 中的嵌套 json
使用带有 Javascript 的 MySQL (node.js)