issue35, if too many tags are selected and AND condition is used, this will show...
[phpfspot.git] / phpfspot_db.php
index 6c86563ed962ca8b813aae3ff3b1bdb4a42048a4..585e5592d3ba70caae80411afe04cf2680a4c4c3 100644 (file)
@@ -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;