【问题标题】:using die/exit/return inside codeigniter sql transaction在 codeigniter sql 事务中使用 die/exit/return
【发布时间】:2013-08-24 20:39:35
【问题描述】:

我在 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() 吗?这样做的最佳做法是什么?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    这取决于您想要达到的目标。如果你希望你的 SQL1 仍然执行,你应该执行 trans_commit() 然后返回 FALSE。所以这一切都取决于你网站的逻辑。

    反正正常应该是trans_commit()或者trans_rollback()在结束前。

    【讨论】:

      猜你喜欢
      • 2014-07-17
      • 1970-01-01
      • 2019-09-29
      • 1970-01-01
      • 2011-02-06
      • 2022-09-23
      • 1970-01-01
      • 2014-05-01
      • 2010-12-20
      相关资源
      最近更新 更多