From 51a4888c71287e66d21c9749c13ba895953b9acb Mon Sep 17 00:00:00 2001 From: Timothy Warren Date: Wed, 14 Sep 2011 13:47:06 -0400 Subject: Fixed affected_rows() function, added PDO/postgres note for insert_id() function --- system/database/drivers/pdo/pdo_driver.php | 18 +++++++++--------- user_guide/database/helpers.html | 1 + 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/system/database/drivers/pdo/pdo_driver.php b/system/database/drivers/pdo/pdo_driver.php index b0bd7075f..d6af974d6 100644 --- a/system/database/drivers/pdo/pdo_driver.php +++ b/system/database/drivers/pdo/pdo_driver.php @@ -173,12 +173,16 @@ class CI_DB_pdo_driver extends CI_DB { * * @access private called by the base class * @param string an SQL query - * @return resource + * @return object */ function _execute($sql) { $sql = $this->_prep_query($sql); - return $this->conn_id->query($sql); + $result_id = $this->conn_id->query($sql); + + $this->affect_rows = $result_id->rowCount(); + + return $result_id; } // -------------------------------------------------------------------- @@ -322,11 +326,7 @@ class CI_DB_pdo_driver extends CI_DB { */ function affected_rows() { - if ($this->db_debug) - { - return $this->display_error('db_unsuported_feature'); - } - return FALSE; + return $this->affect_rows; } // -------------------------------------------------------------------- @@ -337,9 +337,9 @@ class CI_DB_pdo_driver extends CI_DB { * @access public * @return integer */ - function insert_id() + function insert_id($name=NULL) { - return $this->conn_id->lastInsertId(); + return $this->conn_id->lastInsertId($name); } // -------------------------------------------------------------------- diff --git a/user_guide/database/helpers.html b/user_guide/database/helpers.html index 6a8aba55b..ecd0d84b6 100644 --- a/user_guide/database/helpers.html +++ b/user_guide/database/helpers.html @@ -64,6 +64,7 @@ Query Helpers

$this->db->insert_id()

The insert ID number when performing database inserts.

+

Note: If using the PDO driver with PostgreSQL, this function requires a $name parameter, which specifies the appropriate sequence to check for the insert id.

$this->db->affected_rows()

Displays the number of affected rows, when doing "write" type queries (insert, update, etc.).

-- cgit v1.2.3-24-g4f1b