Welcome Guest, Not a member yet? Register   Sign In
How to gracefully degrade SQL errors

Hi all,

If I get an SQL error I'd like to log it and redirect the user to an error page which just informs them there has been an error.

The code I have tried below doesn't work (log_message doesn't work, the page isn't redirected and I just get the "Database Error Occurred" page.  The error (not the log_message part) is written to my log.

Where am I going wrong please?

$this->db->where('fr_mach_date', $_POST['hdnMatchDate']);
$this->db->where('fr_team_code', $side);
$this->db->where('fr_double_banker', $double_banker_from);
if (!$this->db->update('fixtures_results', $arr_match_info))
//error updating the row.
log_message('error', 'Error updating fixture '.$_POST['hdnFixture_'.$side]);
#$error = $this->db->error();

I found the answer.  For those who also encounter this problem, you need to change 'development' to 'production' for the environment at the top of your index.php page.  

PHP Code:
You can load different configurations depending on your
current environmentSetting the environment also influences
things like logging and error reporting.
This can be set to anythingbut default usage is:
NOTE: If you change thesealso change the error_reporting() code below
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'production'); 

And/or actually look at your database configuration and see that there's an option for this.

Theme © iAndrew 2016 - Forum software by © MyBB