1

我正在做的是使用 Codeigniter 活动记录更新一行。DBMS 是 PostgreSQL。我想捕捉错误,而不是像下面这样的屏幕。

在此处输入图像描述

如果我解释遵循此过程的原因是,如果更新查询函数正确执行且没有错误,则根据第一个函数的返回值(真或假)执行第二个函数。

我尝试了以下不起作用的方法。

方法一

    $this->db->where('id', $folio_id);
    $this->db->update('folio', $data);
    if(!empty($this->db->_error_number()))
    {
    echo "ERROR";die;
    }

方法二

    try
    {
        $this->db->where('id', $folio_id);
        $this->db->update('folio', $data);
    }
    catch (Exception $e)
    {
       echo "ERROR";die;
    }  

如果查询执行没有错误,我想要做的就是返回 true,否则如果有任何错误,则返回 false。

如何在不让它死掉的情况下捕获数据库错误?

4

1 回答 1

1

我不确定是否理解得很好,但是为什么您不从捕获中取出骰子呢?

$success = true;
try
    {
        $this->db->where('id', $folio_id);
        $this->db->update('folio', $data);
    }
    catch (Exception $e)
    {
       echo "ERROR ".$e.getMessage();
       $success = false;
    } 

if ($success) {
   ...
于 2013-10-16T09:31:46.613 回答