2

使用 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()?

4

2 回答 2

3

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

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

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

然后使用:

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

更多信息在这里

于 2017-01-11T20:57:51.920 回答
1

也许使用交易?

$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 的事务处理方法

于 2017-01-11T20:04:22.250 回答