nodejs关于请求mysql数据库

qq20004604
博客专家认证
2016-07-06 03:15:19
首先,数据是确定存在的。

情况一(查询到的数据为空):
    db.query('SELECT * FROM player WHERE ? = ?', ['id', req.body.username], function (err, result) {
if (err) {
console.log("select " + req.body.id + " =" + id + " error, the err information is " + err);
return;
}
console.log(result);
selectResult = result;
})


返回内容是一个空的数组[]


方法二(可以正常查询到数据):
    db.query('SELECT * FROM player WHERE id = ?', [req.body.username], function (err, result) {
if (err) {
console.log("select " + req.body.id + " =" + id + " error, the err information is " + err);
return;
}
console.log(result);
selectResult = result;
})


可以正常查询到数据:
[ RowDataPacket { name: '', exp: 0, lv: 1, gold: 0, atk: 0, def: 0, hp: 0, id: 1 } ]

百思不得其解,求解惑
...全文
210 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq20004604 2016-08-04
  • 打赏
  • 举报
回复
最近又遇见这个问题,然后解决了; 解决办法是,插入数字时,必须为number格式(不能为字符串格式),需要通过Number()来强制转换,
qq20004604 2016-07-08
  • 打赏
  • 举报
回复
有人有办法解决嘛?
qq20004604 2016-07-06
  • 打赏
  • 举报
回复
引用 3 楼 kadxls 的回复:
[quote=引用 2 楼 qq20004604 的回复:] [quote=引用 1 楼 kadxls 的回复:] 不给where条件当然找不到,好像sql没第一种写法
给where条件了呀 SELECT * FROM player WHERE ? = ? 按道理说,字符串id会被带入到第一个问号之中,然后数组第二个变量会被带入到第二个问号之中,但并没有[/quote] node有错误log吗?[/quote] 并没有,就是返回一个空的数组。非常正常的一个空数组,就像没获取到数据一样
kadxls 2016-07-06
  • 打赏
  • 举报
回复
引用 2 楼 qq20004604 的回复:
[quote=引用 1 楼 kadxls 的回复:] 不给where条件当然找不到,好像sql没第一种写法
给where条件了呀 SELECT * FROM player WHERE ? = ? 按道理说,字符串id会被带入到第一个问号之中,然后数组第二个变量会被带入到第二个问号之中,但并没有[/quote] node有错误log吗?
qq20004604 2016-07-06
  • 打赏
  • 举报
回复
引用 1 楼 kadxls 的回复:
不给where条件当然找不到,好像sql没第一种写法
给where条件了呀 SELECT * FROM player WHERE ? = ? 按道理说,字符串id会被带入到第一个问号之中,然后数组第二个变量会被带入到第二个问号之中,但并没有
kadxls 2016-07-06
  • 打赏
  • 举报
回复
不给where条件当然找不到,好像sql没第一种写法

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧