如何删除codeigniter的where条件中的斜杠

时间:2016-12-29 07:33:18

标签: php codeigniter

我在数组中使用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不适合在哪里工作。

有任何建议,谢谢...

3 个答案:

答案 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_idcar_booking IN('123','14781')中的car_id中选择