为什么sql IN运算符没有按预期工作?

时间:2016-11-30 15:42:58

标签: mysql sql mysqli

我有以下数据跟随Mysql表:

电台:

item.prop = Qt.binding(function() { bindingExpressions... })

现在我有一个这样的变量:

st_tbl_id   st_id            lg_id           st_name   
=====================================================
1           1583eefecd4ac9   1583ecb93dd121   xxxxx
2           1583ef028a1449   1583ecb93dd121   yyyyy
3           1583ef028a1449   1583eccf794e0e   zzzzz

使用此值,我正在检查它是否存在于$lg_id = "1583ecb93dd121,1583eccf794e0e"; 列中。使用我的以下sql查询,它返回 0

但它应该返回大于 0 ,因为我的变量数据包含在lg_id列中。

Sql查询:

lg_id

但是,如果变量包含一个数据,那么它的工作正常。这有什么不对?

2 个答案:

答案 0 :(得分:0)

嗯,IN的正确格式是这样的:

...... IN('对象1','对象2')

在你的情况下,你正在做

....... IN('对象1,对象2')

你看到了区别吗?

您可以使用此处所述的内爆函数: php implode (101) with quotes

进行更改并告知我是否有效。

答案 1 :(得分:0)

你需要将它们作为两个字符串提交而不是一个,否则你需要有1583ecb93dd121,1583eccf794e0e,但是你没有。所以要修复使用:

$ lg_id =" 1583ecb93dd121',' 1583eccf794e0e";