summaryrefslogtreecommitdiffstats
path: root/codebase/connector/db_mysqli.php
diff options
context:
space:
mode:
Diffstat (limited to 'codebase/connector/db_mysqli.php')
-rw-r--r--codebase/connector/db_mysqli.php56
1 files changed, 56 insertions, 0 deletions
diff --git a/codebase/connector/db_mysqli.php b/codebase/connector/db_mysqli.php
new file mode 100644
index 0000000..6740a3b
--- /dev/null
+++ b/codebase/connector/db_mysqli.php
@@ -0,0 +1,56 @@
+<?php
+/*
+ @author dhtmlx.com
+ @license GPL, see license.txt
+*/
+require_once("db_common.php");
+
+class MySQLiDBDataWrapper extends MySQLDBDataWrapper{
+
+ public function query($sql){
+ LogMaster::log($sql);
+ $res = $this->connection->query($sql);
+ if ($res===false) throw new Exception("MySQL operation failed\n".$this->connection->error);
+ return $res;
+ }
+
+ public function get_next($res){
+ return $res->fetch_assoc();
+ }
+
+ public function get_new_id(){
+ return $this->connection->insert_id;
+ }
+
+ public function escape($data){
+ return $this->connection->real_escape_string($data);
+ }
+
+ public function tables_list() {
+ $result = $this->connection->query("SHOW TABLES");
+ if ($result===false) throw new Exception("MySQL operation failed\n".$this->connection->error);
+
+ $tables = array();
+ while ($table = $result->fetch_array()) {
+ $tables[] = $table[0];
+ }
+ return $tables;
+ }
+
+ public function fields_list($table) {
+ $result = $this->connection->query("SHOW COLUMNS FROM `".$table."`");
+ if ($result===false) throw new Exception("MySQL operation failed\n".$this->connection->error);
+ $fields = array();
+ while ($field = $result->fetch_array()) {
+ if ($field['Key'] == "PRI") {
+ $fields[$field[0]] = 1;
+ } else {
+ $fields[$field[0]] = 0;
+ }
+ }
+ return $fields;
+ }
+
+}
+
+?> \ No newline at end of file