summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db.php10
-rw-r--r--errors.php3
-rw-r--r--functions.php13
3 files changed, 22 insertions, 4 deletions
diff --git a/db.php b/db.php
index 55768f3f6..7766c0563 100644
--- a/db.php
+++ b/db.php
@@ -55,19 +55,23 @@ function db_escape_string_2($s, $link) {
}
}
-function db_query($link, $query) {
+function db_query($link, $query, $die_on_error = true) {
if (DB_TYPE == "pgsql") {
$result = pg_query($link, $query);
if (!$result) {
$query = htmlspecialchars($query); // just in case
- die("Query <i>$query</i> failed: " . pg_last_error($link));
+ if ($die_on_error) {
+ die("Query <i>$query</i> failed: " . pg_last_error($link));
+ }
}
return $result;
} else if (DB_TYPE == "mysql") {
$result = mysql_query($query, $link);
if (!$result) {
$query = htmlspecialchars($query);
- die("Query <i>$query</i> failed: " . mysql_error($link));
+ if ($die_on_error) {
+ die("Query <i>$query</i> failed: " . mysql_error($link));
+ }
}
return $result;
}
diff --git a/errors.php b/errors.php
index 556af0882..603ef7056 100644
--- a/errors.php
+++ b/errors.php
@@ -22,4 +22,7 @@
$ERRORS[8] = "Denied. Your access level is insufficient to access this page.";
$ERRORS[9] = "Configuration check failed";
+
+ $ERRORS[10] = "Your version of MySQL is not currently supported. Please see
+ official site for more information.";
?>
diff --git a/functions.php b/functions.php
index d1212499b..a46061bda 100644
--- a/functions.php
+++ b/functions.php
@@ -1217,6 +1217,8 @@
function sanity_check($link) {
+ error_reporting(0);
+
$error_code = 0;
$result = db_query($link, "SELECT schema_version FROM ttrss_version");
$schema_version = db_fetch_result($result, 0, "schema_version");
@@ -1225,8 +1227,17 @@
$error_code = 5;
}
+ if (DB_TYPE == "mysql") {
+ $result = db_query($link, "SELECT true", false);
+ if (db_num_rows($result) != 1) {
+ $error_code = 10;
+ }
+ }
+
+ error_reporting (DEFAULT_ERROR_LEVEL);
+
if ($error_code != 0) {
- print_error_xml(5);
+ print_error_xml($error_code);
return false;
} else {
return true;