summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/db/mysqli.php4
-rw-r--r--classes/db/pgsql.php4
-rw-r--r--include/errorhandler.php6
3 files changed, 14 insertions, 0 deletions
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 @@
<?php
function ttrss_error_handler($errno, $errstr, $file, $line, $context) {
global $logger;
+ global $last_query;
if (error_reporting() == 0 || !$errno) return false;
$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);
}
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);
}