]> git.wh0rd.org - tt-rss.git/blobdiff - db.php
update_daemon2: fix locking
[tt-rss.git] / db.php
diff --git a/db.php b/db.php
index fb2b8a4b95e64be232a729752ae42887cc237371..d8187fc3bcf65808bfe674d383fda7b19aec27d4 100644 (file)
--- a/db.php
+++ b/db.php
@@ -1,4 +1,4 @@
-<?
+<?php
 
 require_once "config.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 [$result]: " . 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;
        }
@@ -123,4 +127,20 @@ function db_close($link) {
        }
 }
 
+function db_affected_rows($link, $result) {
+       if (DB_TYPE == "pgsql") {
+               return pg_affected_rows($result);
+       } else if (DB_TYPE == "mysql") {
+               return mysql_affected_rows($link);
+       }
+}
+
+function db_last_error($link) {
+       if (DB_TYPE == "pgsql") {
+               return pg_last_error($link);
+       } else if (DB_TYPE == "mysql") {
+               return mysql_error($link);
+       }
+}
+
 ?>