php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #34625 Scrollable cursor doesn't work with MySQL
Submitted: 2005-09-24 06:35 UTC Modified: 2005-10-12 20:08 UTC
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:2 (100.0%)
Same OS:0 (0.0%)
From: stewey at ambitious dot ca Assigned: wez (profile)
Status: Not a bug Package: PDO related
PHP Version: 5CVS-2005-09-25 (snap) OS: Mac OS X 10.4.2
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: stewey at ambitious dot ca
New email:
PHP Version: OS:

 

 [2005-09-24 06:35 UTC] stewey at ambitious dot ca
Description:
------------
Preparing a statement with the PDO_ATTR_CURSOR => 
PDO_CURSOR_SCROLL driver option doesn't work with MySQL.

Reproduce code:
---------------
$PDO = new PDO(  
	"mysql:dbname=test;host=127.0.0.1", 
	'user', 'pass' );
$statement = $PDO->prepare("select id from table", 
	array(PDO_ATTR_CURSOR => PDO_CURSOR_SCROLL) );
$statement->execute();
print_r($statement->fetch( PDO_FETCH_ASSOC,  
   PDO_FETCH_ORI_ABS, 1 ));
print_r($statement->fetch( PDO_FETCH_ASSOC, 
   PDO_FETCH_ORI_ABS, 1 ));
exit;


Expected result:
----------------
I would expect to see the same row output twice. If this is 
not a support driver option, then I would expect and error or 
exception thrown (yes, exceptions are enabled).

Actual result:
--------------
Two different rows. The PDO_FETCH_ORI_ABS arguments are 
seemingly ignored.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-09-24 13:36 UTC] sniper@php.net
Please try using this CVS snapshot:

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


 [2005-09-24 23:46 UTC] stewey at ambitious dot ca
Thanks for the info. Constant problem resolved, but the 
scrollable cursor problem remains. New repro code:

$PDO = new PDO(  
	"mysql:dbname=test;host=127.0.0.1", 
	'user', 'pass' );
$statement = $PDO->prepare("select id from table", 
	array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL) );
$statement->execute();
print_r($statement->fetch( PDO::FETCH_ASSOC,  
   PDO::FETCH_ORI_ABS, 1 ));
print_r($statement->fetch( PDO::FETCH_ASSOC, 
   PDO::FETCH_ORI_ABS, 1 ));
exit;
 [2005-10-12 14:36 UTC] iliaa@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

MySQL does not support cursors and the driver cannot emulate them for you.
 [2005-10-12 20:08 UTC] stewey at ambitious dot ca
Ok. Perhaps you should throw an exception when we give a 
cursor attribute to a mysql pdo driver. This should also be 
doc'd.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Dec 25 14:01:30 2024 UTC