]> git.wh0rd.org - tt-rss.git/blobdiff - db.php
reenable piggie (refs #42)
[tt-rss.git] / db.php
diff --git a/db.php b/db.php
index e4673f679c4ed476531ee76ef93c08f73a981ab8..844bd0e418355ecbb8553869d28e96722e22ee1b 100644 (file)
--- a/db.php
+++ b/db.php
@@ -1,16 +1,24 @@
-<?
+<?php
 
 require_once "config.php";
 
 function db_connect($host, $user, $pass, $db) {
        if (DB_TYPE == "pgsql") {       
                          
-               $string = "dbname=$db user=$user password=$pass";
+               $string = "dbname=$db user=$user";
+         
+               if ($pass) {
+                       $string .= " password=$pass";   
+               }
                
                if ($host) {
                        $string .= " host=$host";
                }
 
+               if (defined('DB_PORT')) {
+                       $string = "$string port=" . DB_PORT;
+               }
+
                $link = pg_connect($string);
 
                if (!$link) {
@@ -41,42 +49,28 @@ function db_escape_string($s) {
        }
 }
 
-/* I hate MySQL :( */
-
-function db_escape_string_2($s, $link) {
-       if (DB_TYPE == "pgsql") {       
-               return pg_escape_string($s);
-       } else {
-               return mysql_real_escape_string($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;
        }
 }
 
-function db_query_2($query) {
-       if (DB_TYPE == "pgsql") {
-               return pg_query($query);
-       } else if (DB_TYPE == "mysql") {
-               return mysql_query($link);
-       }
-}
-
 function db_fetch_assoc($result) {
        if (DB_TYPE == "pgsql") {
                return pg_fetch_assoc($result);
@@ -118,3 +112,21 @@ function db_close($link) {
                return mysql_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);
+       }
+}
+
+?>