From:             
Operating system: Ubuntu 11.10 64-bit
PHP version:      5.4.0RC8
Package:          PDO related
Bug Type:         Bug
Bug description:PDO::nextRowset() after a multi-statement query doesn't always 
work

Description:
------------
After executing a single multi-statement query in PDO in which the
statements are INSERT, followed by UPDATE, followed by SELECT, then trying
to loop over the results using PDO::nextRowset(), the function returns
FALSE (i.e. no more rowsets) after the UPDATE rowset, but before reaching
the SELECT rowset.  Thus the SELECT rowset is lost.

I tried several permutations of multi-statement queries.  INSERT, then
SELECT, then UPDATE works; SELECT then UPDATE works; UPDATE then SELECT
works; only INSERT, then UPDATE, then SELECT fails.

See the below code for those examples plus the bugged example.

I originally ran in to this problem on PHP 5.3.5, but it still appears in
PHP 5.4.0RC8.

Test script:
---------------
First create the following MySQL test db/table:


create database `test`character set utf8 collate utf8_general_ci;
create table `test`.`testtable`( `id` int ); 


Next check this example code to see the bug in action.  There are four
examples in the code, the first three work, and the last one is the bug.

http://pastebin.com/EKePD6e2

The bug tracker suggested a link for code longer than 20 lines, though I
can provide the example script directly in this bug report if that would be
helpful.

Expected result:
----------------
Handle 1:
Rowset 1
Rowset 2
Results detected
Handle 2:
Rowset 1
Results detected
Handle 3:
Rowset 1
Rowset 2
Results detected
Handle 4:
Rowset 1
Rowset 2
Results detected

Actual result:
--------------
Handle 1:
Rowset 1
Rowset 2
Results detected
Handle 2:
Rowset 1
Results detected
Handle 3:
Rowset 1
Rowset 2
Results detected
Handle 4:
Rowset 1

-- 
Edit bug report at https://bugs.php.net/bug.php?id=61207&edit=1
-- 
Try a snapshot (PHP 5.4):            
https://bugs.php.net/fix.php?id=61207&r=trysnapshot54
Try a snapshot (PHP 5.3):            
https://bugs.php.net/fix.php?id=61207&r=trysnapshot53
Try a snapshot (trunk):              
https://bugs.php.net/fix.php?id=61207&r=trysnapshottrunk
Fixed in SVN:                        
https://bugs.php.net/fix.php?id=61207&r=fixed
Fixed in SVN and need be documented: 
https://bugs.php.net/fix.php?id=61207&r=needdocs
Fixed in release:                    
https://bugs.php.net/fix.php?id=61207&r=alreadyfixed
Need backtrace:                      
https://bugs.php.net/fix.php?id=61207&r=needtrace
Need Reproduce Script:               
https://bugs.php.net/fix.php?id=61207&r=needscript
Try newer version:                   
https://bugs.php.net/fix.php?id=61207&r=oldversion
Not developer issue:                 
https://bugs.php.net/fix.php?id=61207&r=support
Expected behavior:                   
https://bugs.php.net/fix.php?id=61207&r=notwrong
Not enough info:                     
https://bugs.php.net/fix.php?id=61207&r=notenoughinfo
Submitted twice:                     
https://bugs.php.net/fix.php?id=61207&r=submittedtwice
register_globals:                    
https://bugs.php.net/fix.php?id=61207&r=globals
PHP 4 support discontinued:          
https://bugs.php.net/fix.php?id=61207&r=php4
Daylight Savings:                    https://bugs.php.net/fix.php?id=61207&r=dst
IIS Stability:                       
https://bugs.php.net/fix.php?id=61207&r=isapi
Install GNU Sed:                     
https://bugs.php.net/fix.php?id=61207&r=gnused
Floating point limitations:          
https://bugs.php.net/fix.php?id=61207&r=float
No Zend Extensions:                  
https://bugs.php.net/fix.php?id=61207&r=nozend
MySQL Configuration Error:           
https://bugs.php.net/fix.php?id=61207&r=mysqlcfg

Reply via email to