Codeigniter - handling errors when using active record
Whether you're using the active record class or not, you can access database errors using $this->db->_error_message()
and $this->db->_error_number()
.
If you're using a mysql database, these functions are equivalent to mysql_error()
and mysql_errno()
respectively. You can check out these functions by looking at the source code for the database driver for the database you're using. They're located in system/database/drivers.
So, after you run a query, you can check for errors using something like:
if ($this->db->_error_message()) \\handle error
Straight from the CodeIgniter support forum:
$res = $this->db->query($str);if (!$res) { // if query returns null $msg = $this->db->_error_message(); $num = $this->db->_error_number(); $data['msg'] = "Error(".$num.") ".$msg; $this->load->view('customers_edit_view',$data);}
Note that you can also log Active Record errors by going into your CI app config file and setting the following:
$config['log_threshold'] = 1;