On Mon, Feb 22, 2010 at 7:50 PM, Paul M Foster <pa...@quillandmouse.com>wrote:

> Using MySQL 5.075, PHP 5.25 on Debian unstable.
>
> Has anyone noticed, when issuing a PDOStatement::rowCount() call after a
> DELETE, UPDATE or INSERT, the return is uniformly zero, rather than the
> actual number of rows affected?
>

quick test shows rowCount() working in all 3 cases:

<?php
/**
* lets test a PDOStatement::rowCount() bug
* using an sqlite3 memory resident database
*/

try
{
$oPdo = new PDO('sqlite::memory:');
    $oPdo->query('CREATE TABLE TESTING (id INTEGER PRIMARY KEY, name
TEXT)');
    $oStmt = $oPdo->query("INSERT INTO TESTING (name) VALUES ('nate
dogg')");
    echo 'Num rows inserted: ' . $oStmt->rowCount() . PHP_EOL;
    $oStmt = $oPdo->query("UPDATE TESTING SET name = 'snoop dog' WHERE id =
1");
    echo "Num rows updated: " . $oStmt->rowCount() . PHP_EOL;
    $oStmt = $oPdo->query("DELETE FROM TESTING WHERE id = 1");
    echo "Num rows deleted: " . $oStmt->rowCount() . PHP_EOL;
}
catch(Exception $oE)
{
    die($oE->getMessage() . PHP_EOL);
}
?>

-------------
OUTPUT
-------------
Num rows inserted: 1
Num rows updated: 1
Num rows deleted: 1

-nathan

Reply via email to