ID: 33841 Updated by: [EMAIL PROTECTED] Reported By: people05 at sopic dot com -Status: Open +Status: Bogus Bug Type: PDO related Operating System: Debian GNU/Linux 3.1 PHP Version: 5.1.0b3 New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php The number of rows affected by those operations will be provided to you by the exec() method as the returned value. Previous Comments: ------------------------------------------------------------------------ [2005-07-23 23:23:25] people05 at sopic dot com Description: ------------ I'm not sure if it's a error in the docs or a PDO bug. http:// www.php.net/manual/en/function.pdostatement-rowcount.php says, "PDOStatement::rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object." When I execute my code sample, $stmt->rowCount() always returns int(0) instead of the expected int(1). Some lines down the page, the docs say that rowCount() doesn't work on a SELECT with the most databases, but there's no exception for INSERT, UPDATE or DELETE. Reproduce code: --------------- <?php try { $db = new PDO("sqlite:/tmp/sqlite.sdb"); $stmt = $db->prepare("INSERT INTO test ( name ) VALUES ( :name ) "); $stmt->bindParam(':name', $name); $name = 'Andreas'; $stmt->execute(); var_dump($stmt->rowCount()); $last_insert_id = $db->lastInsertId(); $stmt = $db->prepare("UPDATE test SET name = :name "); $stmt->bindParam(':name', $name); $name = 'Peter'; $stmt->execute(); var_dump($stmt->rowCount()); $stmt = $db->prepare("DELETE FROM test"); $stmt->execute(); var_dump($stmt->rowCount()); } catch (Exception $e) { echo $e->getMessage(); } ?> Expected result: ---------------- int(1) int(1) int(1) Actual result: -------------- int(0) int(0) int(0) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=33841&edit=1
