【发布时间】:2016-08-25 07:13:35
【问题描述】:
因为在 codeigniter 中实现事务有两种可能的方式:
1.自动
2.手册
I am getting an error like :Lock_wait_timeout 在我的 codeigniter 应用程序中。我的代码中没有任何错误查询。但我发现我已经为类似于手动交易的自动交易编写了交易代码。
自动交易使用 trans_start() ,而手动交易使用 trans_begin()。
对于手动事务,codeigniter 使用以下语法
$this->db->trans_begin();
insert query...
update query...
if($this->db->trans_status()===FALSE){
$this->db->trans_rollback();
}else{
$this->db->trans_commit();
}
但我在我的代码中使用了自动事务,并写成如下(使用 if else 语句,如手动事务):
$this->db->trans_start();
insert query...
update query...
$this->db->trans_complete();
if($this->db->trans_status()===FALSE){
$this->db->trans_rollback();
}else{
$this->db->trans_commit();
}
【问题讨论】:
标签: php mysql codeigniter transactions