nodejs mysql in 语句大坑

这么写sql 

let sql ='select * from test where id in(?)';

nodejs 执行时 

connect.query(sql,['1,2,3'](err,rows)=>{
                        if(err) res.json({msg:'查询失败!',err:err});
                        connect.release();
                        res.json({msg:'dd',err:rows});
                        }); 

 

结果 查询不出来,也不报错

因为确实没错 只是 node 在解析时 加载 sql  匹配 参数 会加载成

select * from test where id in(‘1,2,3’)

这样看起好像没错,确实也没错,但是 我想要的结果却出不来,细看一下你可能就会发现 在 in 里面 我想要的是

 1,2,3

不存在那个引号,如果存在引号 也应该是 '1','2','3'

所以会出现,程序没错,逻辑却错了的尴尬局面,找也找不到错在哪,很烦人

解决这个问题 

在sql 里面 这样写 in(?,?)

后面也就只能有两个值了

 

   

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值