codigniter where_in查询只工作第一个值

时间:2017-06-10 05:18:27

标签: php mysql codeigniter

CodeIgniter where_in查询只能处理第一个值。数据库字段类型为varchar(255)。使用where_in仅适用于第一个选项 - 例如,如果值为1,2,则查询适用于11,2,而2则无效。如果值为2,1,则2正在运行且1停止工作。

查询是这样的:

$this->db->where_in('b.deal_available_city',explode(",",$this->input->cookie('city', TRUE)));

2 个答案:

答案 0 :(得分:0)

你应该使用这样的数组:

$numbers= array('1', '2', '3');
$this->db->where_in('b.deal_available_city', $numbers);

答案 1 :(得分:0)

看到你的数据后。 where_in不起作用。你需要使用FIND_IN_SET

$this->db->where("FIND_IN_SET('1,2',b.deal_available_city) !=",0);