当我想在IN()
mysql函数上using query fuelphp binding
这是我的代码
$status_array = array(1,2,3);
$query = 'select * from users where status IN(:status_id_as_array)' ;
$user = DB::query($query)->bind('status_id_as_array',$status_array)->execute();
当我用进行调试时,从该代码结果为零
echo DB::last_query();
最后一个查询是
select * from users where status IN('1,2,3');
我认为问题是IN('1,2,3')
IN的值是字符串所以它不能作为数组模式执行。
注意我可以用其他方式进球
$query = 'select * from users where status IN('.implode(',', $status_array).')' ;
我的问题是
感谢您的回答
答案 0 :(得分:1)
还有另一种方法可以使用您的查询。尝试:
$user = DB::select()->from('users')
->where('status', 'in', $status_array)
->execute();
它将执行以下查询:SELECT * FROM `users` WHERE `status` IN (1, 2, 3)