Что такое Codeigniter, эквивалентный PHP multi_query

С PHP — я пишу multi_query примерно так:

$MySQL_string .= "UPDATE `table` SET `name` = 'joe' WHERE `ID` = '1'";
$MySQL_string .= "UPDATE `table` SET `name` = 'Jane' WHERE `ID` = '2'";

if($DB->mysqli->multi_query($MySQL_string) === TRUE){
echo"Query executed successfully<BR>";
}else{
echo"Error executing query: ".$DB->mysqli->error;
die();
}

Что эквивалентно PHP multi_query () в Codeigniter?

Если нет эквивалента — как бы я использовал multi_query () в Codeigniter?

2

Решение

Вы можете использовать функцию Codeigniter $this->db->update_batch(), к которому можно передать либо массив, либо объект.

Для завершения вашего примера это может выглядеть так:

$data = array(
array(
'name' => 'Joe' ,
'ID' => '1'
),
array(
'name' => 'Jane' ,
'ID' => '2'
)
);

а затем используйте:

$this->db->update_batch('mytable', $data, 'ID');

больше информации Вот:

4

Другие решения

Может быть, использовать транзакции?

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
$this->db->trans_complete();

Подход CodeIgniter к сделкам

2

По вопросам рекламы [email protected]