我在 codeigniter 中使用 SQL 事务。根据文档,手动交易如下所示。
$this->db->trans_begin();
$this->db->query('UPDATE ...'); // SQL 1
$this->db->query('SELECT ...'); // SQL 2
$this->db->query('SELECT ...'); // SQL 3
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
}
else
{
$this->db->trans_commit();
}
现在我的问题是会发生什么,如果我在 SQL1 和 SQL2 中放置一个 die/exit 语句?如果我想返回false,取决于SQL1。我需要在返回 false 之前输入 $this->db->trans_rollback() 吗?这样做的最佳做法是什么?