Подтвердить что ты не робот

Как удалить несколько строк?

Поэтому я могу удалить одну строку, используя:

$this->db->delete($tableName,array("id"=>4));

... но я не могу понять, как удалить несколько строк. Я пробовал:

$this->db->delete($tableName,array("id"=>4,"id"=5));

а также:

$this->db->delete($tableName,array(array("id"=>4),array("id"=5)));

... но они оба не работают. Я чувствую, что это должно быть довольно легко. Любые ответы?

4b9b3361

Ответ 1

Вы пробовали это?

$names = array(4,5);
$this->db->where_in('id', $names);
$this->db->delete('mytable');

Ответ 2

не требуется ассоциативный массив.

$ids[] = 1;
$ids[] = 2;

$this->db->where_in( id, $ids );
$this->db->delete('Table_Name');

Ответ 3

написать для него пользовательский запрос

$this->db->query("DELETE FROM `TABLE_NAME` WHERE `id` IN(1,2,3,4,5)");

Ответ 4

он не работает

$names = array(4,5);
$this->db->where_in('id', $names);
$this->db->delete('mytable');

DELETE FROM table_name WHERE id IN ('4,5')

Обратите внимание, что одна вещь не одна строка/цифра ('4,5'), мы должны быть погружены каждый id с одинарной кавычкой, подобной этой ('4', '5')

Лучший и хороший способ

        //$ids = 1,2,3.....
        $ids_exp = explode(',',$ids);
        $this->db->where_in('id',$ids_exp);//
        $this->db->delete('table_name')
        return $this->db->affected_rows();

вышеуказанный запрос будет работать.........

Ответ 5

Чтобы удалить одну строку использования:

$this->db->delete('TABLE_NAME', array('id' => 5));

Вы пытались это сделать? Я уверен, что он должен работать.

$this->db->delete('TABLE_NAME', array(array('id' => 5), array('id' => 3), ...));