CodeIgniter - how to catch DB errors?
Is there a way to make CI throw an exception when it encounters a DB error instead of displaying a message like:
A Database Error Occurred Error Number: 1054 Unknown column 'foo' in 'where clause' SELECT * FROM (
FooBar
) WHEREfoo
= '1'
NOTE: I only want this to happen in one controller. In the other controllers, I'm happy for it to display the DB error messages.
Try these CI functions
$this->db->_error_message(); (mysql_error equivalent)
$this->db->_error_number(); (mysql_errno equivalent)
UPDATE FOR CODEIGNITER 3
Functions are deprecated, use error()
instead:
$this->db->error();
Maybe this:
$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