diff options
author | Florian Pritz <bluewind@xinu.at> | 2012-10-08 18:04:12 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2012-10-08 18:04:12 +0200 |
commit | 74dcbbf816deb0cb05e43f1843f6b84b51966470 (patch) | |
tree | b4ceb0a46fb54366d8943325d9e91895e78a03c0 /system/database/drivers/pdo/pdo_result.php | |
parent | b12d7cb03ab1ef63baab4a8d4b1380e6990c1437 (diff) | |
parent | 05e8c03b6742033cf88885cb86217cadca3a4567 (diff) |
Merge tag '2.1.3'
Conflicts:
user_guide
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'system/database/drivers/pdo/pdo_result.php')
-rw-r--r-- | system/database/drivers/pdo/pdo_result.php | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/system/database/drivers/pdo/pdo_result.php b/system/database/drivers/pdo/pdo_result.php index a366a5f12..44fdd6dc5 100644 --- a/system/database/drivers/pdo/pdo_result.php +++ b/system/database/drivers/pdo/pdo_result.php @@ -26,26 +26,27 @@ */ class CI_DB_pdo_result extends CI_DB_result { + public $num_rows; + /** * Number of rows in the result set * - * @access public - * @return integer + * @return int */ - function num_rows() + public function num_rows() { - if (is_numeric(stripos($this->result_id->queryString, 'SELECT'))) + if (is_int($this->num_rows)) { - $dbh = $this->conn_id; - $query = $dbh->query($this->result_id->queryString); - $result = $query->fetchAll(); - unset($dbh, $query); - return count($result); + return $this->num_rows; } - else + elseif (($this->num_rows = $this->result_id->rowCount()) > 0) { - return $this->result_id->rowCount(); + return $this->num_rows; } + + $this->num_rows = count($this->result_id->fetchAll()); + $this->result_id->execute(); + return $this->num_rows; } // -------------------------------------------------------------------- |