什么是Codeigniter与PHP multi_query等效的

时间:2017-01-11 20:00:28

标签: php codeigniter 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();
}

与Codeigniter中的PHP的multi_query()相同的是什么?

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

2 个答案:

答案 0 :(得分:4)

您可以使用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

答案 1 :(得分:2)

也许使用交易?

$.ajax({ url: '/my/site',
     data: {action: 'test'},
     type: 'post',
     **success: function(output) {
                  alert(output);**
              }
});

CodeIgniter’s Approach to Transactions