gpt4 book ai didi

php - 代码点火器事务

转载 作者:可可西里 更新时间:2023-11-01 07:37:32 26 4
gpt4 key购买 nike

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 (即使在 $this-> db->trans_rollback()trans_off()).

我做错了什么?请帮助我。

I am using mySql as underlying database.

最佳答案

现在可以手动设置 trans_status

$this->db->trans_begin();

$a = 'UPDATE ......'; RETURN TRUE
$b = 'INSERT INTO......'; RETURN FALSE

$this->db->trans_rollback(); //First transaction ends it will return FALSE always(in my case)

$this->db->_trans_status = TRUE; // setting the trans_status manually ,so it will ignore previous attempts

$this->db->trans_begin();


//other operations ..


if ( $this->db->trans_status() === FALSE ) {
$this->db->trans_rollback();
} else {
$this->db->trans_commit();
}

关于php - 代码点火器事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14825661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com