issue65, fixed incorrect array_rand handling
[phpfspot.git] / phpfspot_db.php
index 96648be65cd09318180d2515d64bb13b18f2b247..f8cb53b280469b567539c59bcd41560e5208771a 100644 (file)
@@ -8,7 +8,7 @@
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
+ *  any later version.
  *
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -101,7 +101,7 @@ class PHPFSPOT_DB {
       if($this->getConnStatus()) {
 
          if(($result = sqlite3_query($this->db, $query)) === false)
-            $this->trowError($this->getLastError());
+            $this->ThrowError($this->getLastError());
        
          return $result;
       }
@@ -110,6 +110,24 @@ class PHPFSPOT_DB {
 
    } // db_query()
 
+   /**
+    * PHPFSPOT_DB database query & execute
+    *
+    * This function will execute a SQL query and return nothing.
+    */
+   public function db_exec($query = "")
+   {
+      if($this->getConnStatus()) {
+
+         if(($result = sqlite3_exec($this->db, $query)) === false)
+            $this->ThrowError($this->getLastError());
+
+      }
+      else 
+         $this->ThrowError("Can't execute query - we are not connected!");
+
+   } // db_exec()
+
    public function db_fetch_object(&$resource)
    {
       return sqlite3_fetch_array($resource);
@@ -178,11 +196,10 @@ class PHPFSPOT_DB {
    public function db_check_table_exists($table_name = "")
    {
       if($this->getConnStatus()) {
-         $result = $this->db_query("SHOW TABLES");
-         $tables_in = "Tables_in_". MYSQL_DB;
-       
-         while($row = $result->fetchRow()) {
-            if($row->$tables_in == $table_name)
+
+         $result = $this->db_query("SELECT name FROM sqlite_master WHERE type='table'");
+         while($table = $this->db_fetch_object($result)) {
+            if($table['name'] == $table_name)
                return true;
          }
          return false;
@@ -237,8 +254,7 @@ class PHPFSPOT_DB {
 
    private function getLastError()
    {
-
-      return sqlite3_error_string(sqlite3_last_error($this->db));
+      return sqlite3_error($this->db);
 
    } // getLastError()