ID:               39136
 Updated by:       [EMAIL PROTECTED]
 Reported By:      aspen dot olmsted at alliance dot biz
-Status:           Open
+Status:           Assigned
 Bug Type:         PDO related
 Operating System: Windows XP SP2
 PHP Version:      5CVS-2006-10-12 (snap)
-Assigned To:      
+Assigned To:      wez


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

[2006-10-12 13:44:54] aspen dot olmsted at alliance dot biz

Description:
------------
If I call a stored proced that creates a temp table and inserts values
and returns a record set then pdo_odbc gets confused by the multiple
record sets unless I set nocount to on.

I am doing this against a MS_SQL 2000 sp4 database

Reproduce code:
---------------
Here is a sample sql sp:
alter procedure pdo_test as
        CREATE TABLE #tmptbl
        (
                ItemId  int
        )
insert into #tmptbl VALUES (1)
select 'Hello' msg

Here is sample php:
$stmt = $dbh->prepare("exec pdo_test");
$stmt->execute();
echo "Number of columns: " . $stmt->columnCount() . "<br>";
$row = $stmt->fetch();
echo "Value of column: " . var_dump($row) . "<br>";
$stmt->nextRowset();
echo "Number of columns: " . $stmt->columnCount() . "<br>";
$row = $stmt->fetch();
echo "Value of column: " . var_dump($row) . "<br>";


Expected result:
----------------
with the other db layers it is ignoring the first record set.  I think
it is proper that pdo_odbc sees the number of records modified but it
does not return any data and I can not navigate to the actual dataset

Actual result:
--------------
empty dataset

If I add 'set nocount on' to the SP then everything works fine 


alter procedure pdo_test as
set nocount on 
        CREATE TABLE #tmptbl
        (
                ItemId  int
        )
insert into #tmptbl VALUES (1)
select 'Hello' msg



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


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

Reply via email to