diff options
author | Root <development@fractureme.com> | 2012-05-28 02:07:10 +0200 |
---|---|---|
committer | Root <development@fractureme.com> | 2012-05-28 02:07:10 +0200 |
commit | e526c5a3c0c03088d9fb445d932973735d992ba3 (patch) | |
tree | fa041774010a82c3389949ec4677253df62ec23c /system/database/DB_driver.php | |
parent | 3cc8502b48946f7298797393cea0a7183c325244 (diff) | |
parent | 11fd4b8759438f216318e3e1e004f918b88a56ad (diff) |
Merge branch 'develop' of git://github.com/EllisLab/CodeIgniter into develop
Diffstat (limited to 'system/database/DB_driver.php')
-rw-r--r-- | system/database/DB_driver.php | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php index d8a1c13f0..bbb7b7a80 100644 --- a/system/database/DB_driver.php +++ b/system/database/DB_driver.php @@ -742,6 +742,35 @@ abstract class CI_DB_driver { // -------------------------------------------------------------------- /** + * "Count All" query + * + * Generates a platform-specific query string that counts all records in + * the specified database + * + * @param string + * @return int + */ + public function count_all($table = '') + { + if ($table == '') + { + return 0; + } + + $query = $this->query($this->_count_string.$this->escape_identifiers('numrows').' FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE)); + if ($query->num_rows() == 0) + { + return 0; + } + + $query = $query->row(); + $this->_reset_select(); + return (int) $query->numrows; + } + + // -------------------------------------------------------------------- + + /** * Returns an array of table names * * @return array @@ -1395,8 +1424,7 @@ abstract class CI_DB_driver { /** * Dummy method that allows Query Builder class to be disabled - * - * This function is used extensively by every db driver. + * and keep count_all() working. * * @return void */ |