我正在做的是使用Codeigniter活动记录更新行。 DBMS是PostgreSQL。我想抓住错误,而不是像下面这样的屏幕。
如果我解释遵循此过程的原因是,如果更新查询函数正确执行且没有错误,则根据第一个函数的返回值(true或false)执行第二个函数。
我尝试过以下无效的方法。
$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。
如何在不让它最终死亡的情况下捕获数据库错误?
答案 0 :(得分: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) {
...