function getOneColumnAsArray()
 {
     $column = array();
     $queryId = $this->connection->execute($this->getSQL());
     while (is_array($row = Mysqli_fetch_row($queryId))) {
         $column[] = $row[0];
     }
     Mysqli_free_result($queryId);
     return $column;
 }
 function loadTables()
 {
     if ($this->isExisting) {
         $queryId = $this->connection->execute("SHOW TABLES FROM `" . $this->name . "`");
         while (is_array($row = Mysqli_fetch_row($queryId))) {
             $this->tables[$row[0]] = null;
         }
         Mysqli_free_result($queryId);
         $this->isTablesLoaded = true;
     } else {
         $this->tables = array();
     }
 }
 function count()
 {
     if (!(preg_match("/^\\s*SELECT\\s+DISTINCT/is", $this->query) || preg_match('/\\s+GROUP\\s+BY\\s+/is', $this->query)) && preg_match("/^\\s*SELECT\\s+.+\\s+FROM\\s+/Uis", $this->query)) {
         //optimization for non paginated queries
         if (!$this->limit && $this->queryId && $this->valid()) {
             return mysqli_num_rows($this->queryId);
         }
         $rewritesql = preg_replace('/^\\s*SELECT\\s.*\\s+FROM\\s/Uis', 'SELECT COUNT(*) FROM ', $this->query);
         $rewritesql = preg_replace('/(\\sORDER\\s+BY\\s.*)/is', '', $rewritesql);
         $queryId = $this->connection->execute($rewritesql);
         $row = Mysqli_fetch_row($queryId);
         Mysqli_free_result($queryId);
         if (is_array($row)) {
             return $row[0];
         }
     }
     // could not re-write the query, try a different method.
     $queryId = $this->connection->execute($this->query);
     $count = Mysqli_num_rows($queryId);
     Mysqli_free_result($queryId);
     return $count;
 }