#45951 [Opn->Fbk]: PDO_MSSQL problem if query return no result
ID: 45951
Updated by: jani@php.net
Reported By: grzegorz at heex dot pl
-Status: Open
+Status: Feedback
Bug Type: PDO related
Operating System: Windows XP Sp3
PHP Version: 5.2.6
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://windows.php.net/snapshots/
Previous Comments:
------------------------------------------------------------------------
[2008-08-29 18:02:13] grzegorz at heex dot pl
Statetment should be:
$sth = $pdo->prepare("SELECT value FROM sometable WHERE id=:parentId");
------------------------------------------------------------------------
[2008-08-29 17:55:31] grzegorz at heex dot pl
Description:
------------
If PDO_MSSQL PDOStatement is called 2 times and the first returned no
result than second one return strange result.
PDO_MYSQL works fine.
Tested on Apache and IIS
Reproduce code:
---------------
$pdo = new PDO("mssql:host=[host];dbname=[base]",[user],[pass]);
$sth = $pdo->prepare("SELECT id FROM sometable WHERE id=:parentId");
$sth->execute(array(':parentId'=>1));
//or
//$sth->bindValue(':parentId',1,PDO::PARAM_INT);
$res1 = $sth->fetchAll();
$sth->closeCursor();
$sth->execute(array(':parentId'=>2));
//or
//$sth->bindValue(':parentId',2,PDO::PARAM_INT);
$res2 = $sth->fetchAll();
$sth->closeCursor();
Expected result:
----------------
$res1 = array[0] //empty
$res2 = array[
0 = array['value' => 3]
1 = array['value' => 6]
]
Actual result:
--------------
$res1 = array[0] //empty
$res2 = array[
0 = array['[]' => null]
1 = array['[]' => null]
]
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45951&edit=1
Thread (7 messages)