]> git.wh0rd.org - tt-rss.git/blob - db.php
c72bbd9dfab89ac7f78bcfc3a8c6007ab1dc52a7
[tt-rss.git] / db.php
1 <?
2
3 require_once "config.php";
4
5 function db_connect($host, $user, $pass, $db) {
6 if (DB_TYPE == "pgsql") {
7
8 $string = "dbname=$db user=$user password=$pass";
9
10 if ($host) {
11 $string .= " host=$host";
12 }
13
14 $link = pg_connect($string);
15
16 if (!$link) {
17 die("Connection failed: " . pg_last_error($link));
18 }
19
20 return $link;
21
22 } else if (DB_TYPE == "mysql") {
23 $link = mysql_connect($host, $user, $pass);
24 if ($link) {
25 $result = mysql_select_db($db, $link);
26 if (!$result) {
27 die("Can't select DB: " . mysql_error($link));
28 }
29 return $link;
30 } else {
31 die("Connection failed: " . mysql_error($link));
32 }
33 }
34 }
35
36 function db_escape_string($s) {
37 if (DB_TYPE == "pgsql") {
38 return pg_escape_string($s);
39 } else {
40 return mysql_real_escape_string($s);
41 }
42 }
43
44 /* I hate MySQL :( */
45
46 function db_escape_string_2($s, $link) {
47 if (DB_TYPE == "pgsql") {
48 return pg_escape_string($s);
49 } else {
50 return mysql_real_escape_string($s, $link);
51 }
52 }
53
54 function db_query($link, $query) {
55 if (DB_TYPE == "pgsql") {
56 $result = pg_query($link, $query);
57 if (!$result) {
58 $query = htmlspecialchars($query); // just in case
59 die("Query <i>$query</i> failed: " . pg_last_error($link));
60 }
61 return $result;
62 } else if (DB_TYPE == "mysql") {
63 $result = mysql_query($query, $link);
64 if (!$result) {
65 $query = htmlspecialchars($query);
66 die("Query <i>$query</i> failed: " . mysql_error($link));
67 }
68 return $result;
69 }
70 }
71
72 function db_query_2($query) {
73 if (DB_TYPE == "pgsql") {
74 return pg_query($query);
75 } else if (DB_TYPE == "mysql") {
76 return mysql_query($link);
77 }
78 }
79
80 function db_fetch_assoc($result) {
81 if (DB_TYPE == "pgsql") {
82 return pg_fetch_assoc($result);
83 } else if (DB_TYPE == "mysql") {
84 return mysql_fetch_assoc($result);
85 }
86 }
87
88
89 function db_num_rows($result) {
90 if (DB_TYPE == "pgsql") {
91 return pg_num_rows($result);
92 } else if (DB_TYPE == "mysql") {
93 return mysql_num_rows($result);
94 }
95 }
96
97 function db_fetch_result($result, $row, $param) {
98 if (DB_TYPE == "pgsql") {
99 return pg_fetch_result($result, $row, $param);
100 } else if (DB_TYPE == "mysql") {
101 // I hate incoherent naming of PHP functions
102 return mysql_result($result, $row, $param);
103 }
104 }
105
106 function db_close($link) {
107 if (DB_TYPE == "pgsql") {
108
109 return pg_close($link);
110
111 } else if (DB_TYPE == "mysql") {
112 return mysql_close($link);
113 }
114 }