CodeIgniter - 如何捕获数据库错误?
2022-08-30 08:28:51
有没有办法让 CI 在遇到数据库错误时引发异常,而不是显示如下消息:
发生数据库错误 错误 编号:1054 “where 子句”中的未知列“foo” 选择 * FROM () WHERE = '1'
FooBar
foo
注意:我只希望在一个控制器中发生这种情况。在其他控制器中,我很高兴它显示数据库错误消息。
有没有办法让 CI 在遇到数据库错误时引发异常,而不是显示如下消息:
发生数据库错误 错误 编号:1054 “where 子句”中的未知列“foo” 选择 * FROM () WHERE = '1'
FooBar
foo
注意:我只希望在一个控制器中发生这种情况。在其他控制器中,我很高兴它显示数据库错误消息。
使用方法:error()
$this->db->error();
对于 CodeIgniter 2,您可以使用以下现已弃用的函数:
$this->db->_error_message(); (mysql_error equivalent)
$this->db->_error_number(); (mysql_errno equivalent)
也许这个:
$db_debug = $this->db->db_debug; //save setting
$this->db->db_debug = FALSE; //disable debugging for queries
$result = $this->db->query($sql); //run query
//check for errors, etc
$this->db->db_debug = $db_debug; //restore setting