什么是等同于PHP多线程查询的Codeigniter

什么是等同于PHP多线程查询的Codeigniter,php,codeigniter,multi-query,Php,Codeigniter,Multi Query,使用PHP-我编写了一个类似以下内容的多线程查询: $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 execu

使用PHP-我编写了一个类似以下内容的多线程查询:

$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();
}
$data = array(
  array(
    'name' => 'Joe' ,
    'ID' => '1'
  ),
  array(
    'name' => 'Jane' ,
    'ID' => '2'
  )
);
$MySQL\u string.=“UPDATE`table`SET`name`='joe',其中`ID`='1';
$MySQL\u string.=“UPDATE`table`SET`name`='Jane',其中`ID`='2';
if($DB->mysqli->multi\u查询($MySQL\u字符串)==TRUE){
echo“查询已成功执行
”; }否则{ echo“执行查询时出错:”..DB->mysqli->Error; 模具(); }
什么与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函数
$this->db->update_batch()
,您可以向其传递数组或对象

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

$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();
}
$data = array(
  array(
    'name' => 'Joe' ,
    'ID' => '1'
  ),
  array(
    'name' => 'Jane' ,
    'ID' => '2'
  )
);
然后使用:

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

更多信息:

我不确定我是否理解-为什么我需要交易?在我的情况下,不需要回滚任何内容。事务:用于半运行查询。谢谢-但这里不需要事务。除非这是multi_query()的Codeigner中的唯一选项。我只是在寻找我看到的multi_query()的等价物。batch语句中的“ID”充当WHERE
ID
='2'等,批使用WHEN
ID
='2'等。。。明亮的我想知道这在速度上与PHP multi_query()相比如何,我想知道为什么Codeigniter没有将multi_query()作为其查询生成器的一部分?