codeIgniterのトランザクションはどのように機能しますか?一度トランザクションを停止して、相互に開始できますか?
私の例を参照してください
$this->db->trans_begin();
$a = 'UPDATE ......'; RETURN TRUE
$b = 'INSERT INTO......'; RETURN FALSE
$this->db->trans_rollback(); // I tried $this->db->trans_off();
var_dump( $this->db->trans_status() );
$this->db->trans_begin();
if ( $this->db->trans_status() === FALSE ) {
$this->db->trans_rollback();
} else {
$this->db->trans_commit();
}
私の最初のトランザクションは常に返さFALSE
れます(ロールバックする必要があるのは事実ですが)。次に、そのトランザクションを閉じて、別のトランザクションを開始する必要があります。
問題はにあり$this->db->trans_status()
、常にFALSE
2番目のトランザクションで戻ります($this->db->trans_rollback()
またはの後でもtrans_off()
)。
私は何を間違っているのですか?私を助けてください。
I am using mySql as underlying database.