CodeIgniter - 如何捕获数据库错误?

2022-08-30 08:28:51

有没有办法让 CI 在遇到数据库错误时引发异常,而不是显示如下消息:

发生数据库错误 错误 编号:1054 “where 子句”中的未知列“foo” 选择 * FROM () WHERE = '1'FooBarfoo

注意:我只希望在一个控制器中发生这种情况。在其他控制器中,我很高兴它显示数据库错误消息


答案 1

使用方法:error()

$this->db->error(); 

对于 CodeIgniter 2,您可以使用以下现已弃用的函数:

$this->db->_error_message(); (mysql_error equivalent)
$this->db->_error_number(); (mysql_errno equivalent)

答案 2

也许这个:

$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

推荐