美文网首页
node mysql查询语句的坑

node mysql查询语句的坑

作者: 笑执清茶 | 来源:发表于2018-06-29 21:08 被阅读0次

又是被查询语句弄死的一天。。。

项目做一个登陆,一直查不出用户数据,不知道查询语句哪里有问题。

var userName = req.param('userName')   // 获取前台传过来的userName值

1.let sql =  `select * from user where userName = ${userName} `   //查不到

2. let sql =  'select * from user where userName = userName'  //查不到   

3. let sql = 'select * from user where userName = "' + userName + '"'  //查到了

4. let sql =  'select * from user where userName = ?'

pool.query(sql,[userName],(err, result) => {}      //查到了。。。         


总结:前端传来的数据如果是字符串放到sql语句中需要拼接字符串,但拼接字符串比较繁琐容易拼错,二是容易造成sql注入攻击。建议使用上述第4种查询方式,也就是占位符注入查询的查询方式。

参考:https://www.jb51.net/article/107441.htm

相关文章

网友评论

      本文标题:node mysql查询语句的坑

      本文链接:https://www.haomeiwen.com/subject/qbhzyftx.html