summaryrefslogtreecommitdiff
path: root/includes/libs/libmysql.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/libs/libmysql.php')
-rw-r--r--includes/libs/libmysql.php89
1 files changed, 89 insertions, 0 deletions
diff --git a/includes/libs/libmysql.php b/includes/libs/libmysql.php
new file mode 100644
index 0000000..5a3a06c
--- /dev/null
+++ b/includes/libs/libmysql.php
@@ -0,0 +1,89 @@
+<?php
+
+require_once "includes/conf/mysql.conf.php";
+
+class Database
+{
+ // implement singleton pattern
+ static private $instance = null;
+
+ private $conn;
+
+ static public function getInstance()
+ {
+ if (null === self::$instance)
+ {
+ self::$instance = new self;
+ }
+ return self::$instance;
+ }
+
+ // ctor
+ private function __construct()
+ {
+ global $conf;
+ $this->conn = mysql_connect( $conf['mysql_hostname'],
+ $conf['mysql_username'],
+ $conf['mysql_password'] )
+ or die ("Connection to database failed!" . mysql_error());
+
+ mysql_select_db( $conf['mysql_database'], $this->conn )
+ or die ("Selection of database failed! " . mysql_error());
+ }
+
+ private function checkConnect()
+ {
+ if (!isset($this->conn))
+ {
+ die("Not connected to database");
+ }
+ }
+
+ // returns the value in the first row and column
+ public function getValue( $sql )
+ {
+ $this->checkConnect();
+
+ $res = mysql_query( $sql, $this->conn );
+ if (!$res)
+ {
+ die('Error while calling database: ' . mysql_error());
+ }
+ $vals = mysql_fetch_row( $res );
+ mysql_free_result( $res );
+ return $vals[0];
+ }
+
+ // executes some sql and returns affected rows
+ public function exec( $sql )
+ {
+ $this->checkConnect();
+
+ $res = mysql_query( $sql, $this->conn );
+ if (!$res)
+ {
+ die('Error while calling database: ' . mysql_error());
+ }
+ $numrows = mysql_affected_rows( $this->conn );
+ return $numrows;
+ }
+
+ public function escape( $string )
+ {
+ $this->checkConnect();
+
+ return mysql_real_escape_string( $string, $this->conn );
+ }
+
+ public function disconnect()
+ {
+ if ( mysql_ping( $this->conn ) )
+ {
+ mysql_close( $this->conn );
+ }
+ }
+
+}
+
+
+?> \ No newline at end of file