summaryrefslogtreecommitdiff
path: root/inc/database.php
diff options
context:
space:
mode:
authorSavetheinternet <savetheinternet@n0v4.com>2011-02-16 15:08:17 +1100
committerSavetheinternet <savetheinternet@n0v4.com>2011-02-16 15:08:17 +1100
commitafbd0c6473f864736bacab28035dfd3702c5d231 (patch)
tree1f0b9781ce3b8baafc0f38eda11137d597147672 /inc/database.php
parent392ae5f6e400c23ba0cf1e2a16137e23fb8390ba (diff)
parent44d280e120a3c7e1912f101c6ce8f8dfaf963cc8 (diff)
merged mod branch
Diffstat (limited to 'inc/database.php')
-rw-r--r--inc/database.php49
1 files changed, 49 insertions, 0 deletions
diff --git a/inc/database.php b/inc/database.php
new file mode 100644
index 00000000..21fabe71
--- /dev/null
+++ b/inc/database.php
@@ -0,0 +1,49 @@
+<?php
+
+ function sql_open() {
+ global $pdo, $config;
+ if($pdo) return true;
+
+ $dsn = $config['db']['type'] . ':host=' . $config['db']['server'] . ';dbname=' . $config['db']['database'];
+ if(!empty($config['db']['dsn']))
+ $dsn .= ';' . $config['db']['dsn'];
+ try {
+ return $pdo = new PDO($dsn, $config['db']['user'], $config['db']['password']);
+ } catch(PDOException $e) {
+ $message = $e->getMessage();
+
+ // Remove any sensitive information
+ $message = str_replace($config['db']['user'], '<em>hidden</em>', $message);
+ $message = str_replace($config['db']['password'], '<em>hidden</em>', $message);
+
+ // Print error
+ error('Database error: ' . $message);
+ }
+ }
+
+ function sql_close() {
+ global $pdo;
+ $pdo = NULL;
+ }
+
+ function prepare($query) {
+ global $pdo;
+ return $pdo->prepare($query);
+ }
+
+ function query($query) {
+ global $pdo;
+ return $pdo->query($query);
+ }
+
+ function db_error($PDOStatement=null) {
+ global $pdo;
+ if(isset($PDOStatement)) {
+ $err = $PDOStatement->errorInfo();
+ return $err[2];
+ } else {
+ $err = $pdo->errorInfo();
+ return $err[2];
+ }
+ }
+?> \ No newline at end of file