如何捕获CodeIgniter PHP中的DB错误

Joy*_*Joy 6 php mysql codeigniter

我是CodeIgniter,PHP和MySQL的新手.我想处理数据库生成的错误.从Stackoverflow中的一篇文章中,我知道通过以下语句可以捕获错误.

 $this->db->_error_message();
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚使用它的确切语法.假设我想通过以下语句更新名为"table_name"的表的记录:

$array['rank']="8";
$array['class']="XII";
$this->db->where('roll_no',$roll_no);
$this->db->update("table_name", $array);
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我想在发生任何数据库级别违规时捕获数据库错误,即字段名称无效或发生某些唯一约束违规.如果有人帮助我解决这个问题,我将非常感激.谢谢.

Raj*_*jan 6

codeIgniter具有它的功能

$this->db->_error_message(); 
$this->db->_error_number(); 


if(!$this->db->update("table_name", $array))
{
    $this->db->_error_message(); 
    $this->db->_error_number(); 
}
Run Code Online (Sandbox Code Playgroud)


Erm*_*egu 5

您可以在(config/database.php)中调试数据库配置中的数据库错误,如下所示:

$db['default']['db_debug'] = TRUE;
Run Code Online (Sandbox Code Playgroud)

更多信息请阅读此处

您还可以使用Profiler查看所有查询及其速度.在控制器中你可以把它:

$this->output->enable_profiler(TRUE);
Run Code Online (Sandbox Code Playgroud)

更多信息请阅读此处