diff --git a/classes/db/mysqli.php b/classes/db/mysqli.php index c685b75a0..eef500f77 100644 --- a/classes/db/mysqli.php +++ b/classes/db/mysqli.php @@ -24,6 +24,10 @@ class Db_Mysqli implements IDb { } function query($query, $die_on_error = true) { + global $last_query; + + if (strpos($query, "ttrss_error_log") === FALSE) $last_query = $query; + $result = @mysqli_query($this->link, $query); if (!$result) { $error = @mysqli_error($this->link); diff --git a/classes/db/pgsql.php b/classes/db/pgsql.php index 6b772d9e1..7bdcb7e9d 100644 --- a/classes/db/pgsql.php +++ b/classes/db/pgsql.php @@ -35,6 +35,10 @@ class Db_Pgsql implements IDb { } function query($query, $die_on_error = true) { + global $last_query; + + if (strpos($query, "ttrss_error_log") === FALSE) $last_query = $query; + $result = @pg_query($this->link, $query); if (!$result) { diff --git a/include/errorhandler.php b/include/errorhandler.php index 52431c2de..21cc9a94d 100644 --- a/include/errorhandler.php +++ b/include/errorhandler.php @@ -1,17 +1,21 @@ log_error($errno, $errstr, $file, $line, $context); } function ttrss_fatal_handler() { global $logger; + global $last_query; $error = error_get_last(); @@ -27,6 +31,8 @@ function ttrss_fatal_handler() { $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1); + if ($last_query) $errstr .= " [Last query: $last_query]"; + if (class_exists("Logger")) return Logger::get()->log_error($errno, $errstr, $file, $line, $context); }