diff options
Diffstat (limited to 'modules/database/classes/driver')
-rw-r--r-- | modules/database/classes/driver/mysql/db.php | 19 | ||||
-rw-r--r-- | modules/database/classes/driver/pdo/db.php | 8 | ||||
-rw-r--r-- | modules/database/classes/driver/pdo/query.php | 6 |
3 files changed, 31 insertions, 2 deletions
diff --git a/modules/database/classes/driver/mysql/db.php b/modules/database/classes/driver/mysql/db.php index e5a63df..ab0a3bb 100644 --- a/modules/database/classes/driver/mysql/db.php +++ b/modules/database/classes/driver/mysql/db.php @@ -36,7 +36,24 @@ class DB_Mysql_Driver extends DB{ Config::get("database.{$config}.db")
);
}
-
+
+ /**
+ * Gets column names for the specified table
+ *
+ * @param string $table Name of the table to get columns from
+ * @return array Array of column names
+ * @access public
+ */
+ public function list_columns($table) {
+ $columns=array();
+ $table_desc = $this->execute("DESCRIBE `$table`");
+
+ foreach($table_desc as $column)
+ $columns[] = $column->Field;
+
+ return $columns;
+ }
+
/**
* Builds a new Query implementation
*
diff --git a/modules/database/classes/driver/pdo/db.php b/modules/database/classes/driver/pdo/db.php index c73995d..b7b869f 100644 --- a/modules/database/classes/driver/pdo/db.php +++ b/modules/database/classes/driver/pdo/db.php @@ -61,6 +61,13 @@ class DB_PDO_Driver extends DB{ return $this->conn->lastInsertId();
}
+ /**
+ * Gets column names for the specified table
+ *
+ * @param string $table Name of the table to get columns from
+ * @return array Array of column names
+ * @access public
+ */
public function list_columns($table) {
$columns=array();
if ($this->db_type == 'mysql') {
@@ -80,6 +87,7 @@ class DB_PDO_Driver extends DB{ }
return $columns;
}
+
/**
* Executes a prepared statement query
*
diff --git a/modules/database/classes/driver/pdo/query.php b/modules/database/classes/driver/pdo/query.php index 647b0c4..f029197 100644 --- a/modules/database/classes/driver/pdo/query.php +++ b/modules/database/classes/driver/pdo/query.php @@ -127,7 +127,11 @@ class Query_PDO_Driver extends Query_Database { }else {
$first = false;
}
- $query.="{$this->escape_field($f)} ";
+ if(is_array($f)){
+ $query.= "{$this->escape_field($f[0])} AS {$f[1]} ";
+ }else {
+ $query.= "{$this->escape_field($f)} ";
+ }
}
}
$query.= "FROM {$this->quote($this->_table)} ";
|