#45951 [NoF->Opn]: PDO_MSSQL problem if query return no result

From: Date: Thu, 11 Jun 2009 07:56:55 +0000
Subject: #45951 [NoF->Opn]: PDO_MSSQL problem if query return no result
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-138200@lists.php.net to get a copy of this message
 ID:               45951
 User updated by:  grzegorz at heex dot pl
 Reported By:      grzegorz at heex dot pl
-Status:           No Feedback
+Status:           Open
 Bug Type:         PDO related
 Operating System: Windows XP Sp3
 PHP Version:      5.2.6
 New Comment:

I couldn't connect to MSSQL so I've exchanged ntwdblib.dll (v.7.00.839)
to (v.8.00.194).

No result is:
$res1 = array[0] //empty
$res2 = array[
  0 = array['[]' => null, 0 => null]
  1 = array['[]' => null, 0 => null]
]

( [] = ASCII 0x11 )

and should be:
$res2 = array[
  0 = array['value' => 3, 0 => 3]
  1 = array['value' => 6, 0 => 6]
]


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

[2009-05-03 01:00:17] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

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

[2009-04-25 15:11:00] jani@php.net

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/



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

[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)

« previous php.bugs (#138200) next »