我尝试使用此代码,但是我调用的存储过程仍然在数据库中运行,但是在代码中已经完成。
$this->db->trans_start();
$this->db->query('CALL sp_process();');
if ($this->db->trans_status() === FALSE) {# Something went wrong.
$this->response->message[] = array(
'message' => "Encountered a problem",
'type' => 'error'
);
}
else {
$this->db->trans_commit();
$this->response->message[] = array(
'message' => 'successfully processed',
'type' => 'success'
);
}
$this->db->trans_complete();
答案 0 :(得分:0)
摘自Running Transactions Manually的文档:
在手动运行时,请确保使用
$this->db->trans_begin()
交易,而不是$this->db->trans_start()
。
因此,请尝试用$this->db->trans_begin();
替换第一行