#44310 [Opn->Bgs]: PDOStatement::exec() returns int(1) to any successful query.

From: Date: Sun, 02 Mar 2008 15:30:03 +0000
Subject: #44310 [Opn->Bgs]: PDOStatement::exec() returns int(1) to any successful query.
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-122842@lists.php.net to get a copy of this message
 ID:               44310
 Updated by:       iliaa@php.net
 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


Thread (2 messages)

« previous php.bugs (#122842) next »