2017-01-11 14 views
2

へのCodeIgniter equivilentはどのようなものです - 私はこのようなmulti_queryの何か書く:PHP 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()を使用しますか?

答えて

4

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

、その後は使用します:

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

詳細here: - なぜ私はトランザクションを必要とする

+0

私は参照してください。バッチステートメントの 'ID'はWHERE 'ID' = '2'などのように動作します。 そしてバッチはWHEN' ID' = '2' THENなどを使用します...華麗な...私は0_oだと思います PHPのmulti_query()と比較して、なぜCodeigniterがそのクエリービルダーの一部としてmulti_query()を含まないのだろうか? – Creeperstanson

2

多分トランザクションを使用しますか?あなたは配列やオブジェクトのいずれかを渡すことができたにCodeIgniterの機能$this->db->update_batch()を、使用することができます

$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

+0

ない私は理解してそれは次のようになりますあなたの例を完了するために、

? 私の場合、何かを巻き戻す必要はありません。 – Creeperstanson

+0

トランザクション:ハーフ・ラン・クエリの場合。 – Mohammad

+0

ありがとうございます - しかしここでは取引の必要はありません。これがcode_terrのmulti_query()の唯一のオプションでない限り。私はmulti_query()と同等のものを探しています。 – Creeperstanson