使用 zend 框架我使用了一个查询,有一个 IN 子句,这是我的查询
$select->where('p.brandid IN (?)',$details[brand]);
在上面的查询中,$details[brand] 的值类似于这个数组 (1,2,3)。
实际上查询必须返回与这个数组(1,2,3)相关的所有值。
但我的查询返回与上述数组 (1,2,3) 中存在的第一个值相关的结果。即 1 单独其他 2,3 不被考虑。
当我打印这个查询时,它显示如下
[where] => Array
(
[0] => (p.brandid IN ('1,2,3'))
)
任何人都可以告诉我我犯了什么错误或解决这个问题的方法..
最佳答案
这是因为您的查询格式错误 p.brandid IN ('1,2,3')
而不是 p.brandid IN (1,2,3)
你可以尝试在 php 中使用 implode 函数
$select->where('p.brandid IN (?)',implode(",",$details[brand]));
关于php - Zend Framework Mysql WHERE IN 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11574142/