ID:               44310
 Updated by:       [EMAIL PROTECTED]
 Reported By:      osc at zoyo dot info
-Status:           Open
+Status:           Bogus
 Bug Type:         PDO related
 Operating System: Windowx XP x86 SP2
 PHP Version:      5.2.5
 New Comment:

Since the PDO code is identical for both Windows and Linux, I suspect 
that the problem lies with the PostgreSQL driver on windows.


Previous Comments:
------------------------------------------------------------------------

[2008-03-02 10:30:52] osc at zoyo dot info

Description:
------------
PDOStatement::exec() returns int(1) to any successful query.

I have tried it with PDO drivers for postgresql packaged with PHP
version 5.2.5 on Windows XP, and version 5.1.4 on Linux.

The method returns number of affected records on Linux, but returns
int(1) to any successful query on Windows.

PostgreSQL version is 8.2.6 for Win32.

Reproduce code:
---------------
<?php

/*
create table test( tm timestamp );
*/

try{

        $db = new PDO(PDOSTR,DBUSER,DBPASS);

        $insert1 = $db->exec('insert into test values( now() )');
        $insert2 = $db->exec("insert into test values( now()+interval '1 day'
)");
        $update  = $db->exec("update test set tm=now() + interval '2 day'");
        $select = $db->exec('select * from test');
        $delete  = $db->exec('delete from test');

}catch(PDOException $e){
        echo $e->getMessage();
        exit;
}

?>
insert1: <?=$insert1?>
 insert2: <?=$insert2?>
 update : <?=$update?>
 select : <?=$select?>
 delete : <?=$delete?>

Expected result:
----------------
insert1: 1 insert2: 1 update : 2 select : 0 delete : 2

Actual result:
--------------
insert1: 1 insert2: 1 update : 1 select : 1 delete : 1


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=44310&edit=1

Reply via email to