summaryrefslogtreecommitdiffstats
path: root/system/database/DB_driver.php
diff options
context:
space:
mode:
authorPhil Sturgeon <email@philsturgeon.co.uk>2012-02-10 11:37:09 +0100
committerPhil Sturgeon <email@philsturgeon.co.uk>2012-02-10 11:37:09 +0100
commit16af6afe991381360439135ddb0735dab1280fed (patch)
treedef14317577f8f1f4eba47f5bb4db2c744c8f330 /system/database/DB_driver.php
parentaca5186f7d0746642d42f1c67a5debb7912effea (diff)
parentfdd6ad088cd5c6f29974f23e1a2747c243ecb278 (diff)
Merge pull request #1022 from toopay/pdo
Fixed PDO issues.
Diffstat (limited to 'system/database/DB_driver.php')
-rw-r--r--system/database/DB_driver.php27
1 files changed, 13 insertions, 14 deletions
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 7445a5069..b829bbe46 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -81,8 +81,7 @@ class CI_DB_driver {
var $stmt_id;
var $curs_id;
var $limit_used;
-
-
+
/**
* Constructor. Accepts one parameter containing the database
@@ -814,20 +813,23 @@ class CI_DB_driver {
if ($query->num_rows() > 0)
{
- foreach ($query->result_array() as $row)
+ $table = FALSE;
+ $rows = $query->result_array();
+ $key = (($row = current($rows)) && in_array('table_name', array_map('strtolower', array_keys($row))));
+
+ if ($key)
{
- if (isset($row['TABLE_NAME']))
- {
- $retval[] = $row['TABLE_NAME'];
- }
- else
- {
- $retval[] = array_shift($row);
- }
+ $table = array_key_exists('TABLE_NAME', $row) ? 'TABLE_NAME' : 'table_name';
+ }
+
+ foreach ($rows as $row)
+ {
+ $retval[] = ( ! $table) ? current($row) : $row[$table];
}
}
$this->data_cache['table_names'] = $retval;
+
return $this->data_cache['table_names'];
}
@@ -1436,10 +1438,7 @@ class CI_DB_driver {
return $item.$alias;
}
-
-
}
-
/* End of file DB_driver.php */
/* Location: ./system/database/DB_driver.php */