我在数组中使用Codeigniter的条件。
但是在这里我得不到我需要的确切结果,在这里条件有些斜线正在添加。 以下是我的代码
$comma_separated= implode("','", $ids); // here i am getting ids
$this->db->select("car_id");
$this->db->where_in('car_id',array(stripslashes($comma_separated)));
$query_second = $this->db->get_where("car_booking");
我的最后一个问题是
SELECT `car_id`
FROM `car_booking`
WHERE `car_id` IN('123\',\'14781')
这里的striplahses不适合在哪里工作。
有任何建议,谢谢...
答案 0 :(得分:2)
您无法将字符串函数应用于数组。以下代码可能会帮助您解决问题。
style
击> <击> 撞击>
编辑完问题后,您无需将$ ids数组传递到$this->db->select("car_id");
foreach ($comma_separated as $key=>$value) {
$comma_separated[$key] = stripslashes($value);
}
$this->db->where_in('car_id',array(stripslashes($comma_separated)));
$query_second = $this->db->get_where("car_booking");
。所以使用此代码将解决您的问题。
$this->db->where_in
答案 1 :(得分:1)
从
改变$this->db->select("car_id");
$this->db->where_in('car_id',array(stripslashes($comma_separated)));
$query_second = $this->db->get_where("car_booking");
到
$this->db->select("car_id");
$this->db->where_in('car_id',array_map('stripslashes',$ids));
$query_second = $this->db->get_where("car_booking");
答案 2 :(得分:0)
应该是:
$ comma_separated = implode(“','”,$ ids);
$ this-> db-> select(“ car_id”);
$ this-> db-> where_in('car_id',$ comma_separated,FALSE); //将FALSE添加为第三个参数
$ query_second = $ this-> db-> get_where(“ car_booking”);
它产生:
从
car_id
在car_booking
IN('123','14781')中的car_id
中选择