Мой запрос выглядит так:
$group_id = $session['group_id']; $sql = "SELECT * FROM notification WHERE group_id IN(?)"; $result = $this->db->query($sql, array($group_id))->result_array();
Когда я добавляю: echo $this->db->last_query();die();
, результат выглядит следующим образом:
SELECT * FROM notification WHERE group_id IN('1,13,2')
Я хочу удалить одинарные кавычки, чтобы результат был следующим:
SELECT * FROM notification WHERE group_id IN(1,13,2)
Как удалить одинарные кавычки в инструкции для подготовки?
Я предпочитаю, чтобы вы могли использовать команду where_in, как показано ниже:
$this->db->select('*'); $this->db->where_in('group_id',$group_id); $this->db->get('notification');
Все, что вам нужно сделать, это создать массив идентификаторов групп. Попробуйте следующее
$group_id = explode(',',$session['group_id']); $this->db->select('*'); $this->db->where_in('group_id',$group_id); $this->db->get('notification');
это будет работать
Вы можете это сделать следующим образом:
$ session ['group_id'] , вероятно, является строкой. поэтому вы можете преобразовать эту строку в массив.
$group_id = explode(",", $session['group_id']);
Теперь $ group_id уже является массивом. Итак, в нижнем выражении замените массив ($ group_id) на «$ group_id» :
$result = $this->db->query($sql, array($group_id))->result_array();
поэтому весь код будет выглядеть так:
$group_id = explode(",", $session['group_id']); $sql = "SELECT * FROM notification WHERE group_id IN(?)"; $result = $this->db->query($sql, array($group_id))->result_array();