diff --git a/resources/classes/database.php b/resources/classes/database.php index 563dc84cd9..71f12c51ca 100644 --- a/resources/classes/database.php +++ b/resources/classes/database.php @@ -575,7 +575,7 @@ } } } - catch (PDOException $error) { + catch (PDOException $e) { $message['message'] = $e->getMessage(); $message['code'] = $e->getCode(); $message['line'] = $e->getLine(); @@ -603,7 +603,7 @@ $this->db = new PDO("pgsql:dbname=$this->db_name user=$this->username password=$this->password"); } } - catch (PDOException $error) { + catch (PDOException $e) { $message['message'] = $e->getMessage(); $message['code'] = $e->getCode(); $message['line'] = $e->getLine(); @@ -755,11 +755,11 @@ //if unable to connect to the database if (!$this->db) { - $message['message'] = $e->getMessage(); - $message['code'] = $e->getCode(); - $message['line'] = $e->getLine(); - $message['file'] = $e->getFile(); - $message['trace'] = $e->getTraceAsString(); + $message['message'] = 'Unable to connect to database'; + $message['code'] = '500'; + $message['line'] = __LINE__; + $message['file'] = __FILE__; + $message['trace'] = ''; $message['debug'] = debug_backtrace(); $this->message = $message; return false; @@ -2948,6 +2948,34 @@ return $this->message; } //save method + /** + * Ensure the database is still connected and active. + *
NOTE:
+ * There is no method in PDO that can reliably detect if the connection is active. Therefor, a lightweight
+ * query is executed using the statement select 1.