什么是 Codeigniter 等同于 PHP multi_query

What is the Codeigniter equivilent to PHP multi_query

Whith 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();
}

在 Codeigniter 中 PHP 的 multi_query() 等效于什么?

如果没有等效项 - 我将如何在 Codeigniter 中使用 multi_query()?

也许使用交易?

$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’s Approach to Transactions

您可以使用 Codeigniter 函数 $this->db->update_batch(),您可以向其传递数组或对象。

要完成您的示例,它可能如下所示:

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

然后使用:

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

更多信息here