ID:               39527
 User updated by:  jpokotilow at tuneteller dot com
 Reported By:      jpokotilow at tuneteller dot com
 Status:           Open
 Bug Type:         PDO related
 Operating System: Mac OS X 10.4.8
 PHP Version:      5.2.0
 New Comment:

I feel that I neglected to mention one important point, which 
is that I *can* iterate over the PDOStatement object prior to 
returning it from the class method. The object only becomes 
dysfunctional when it's operated on outside of the class 
method in question.


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

[2006-11-16 05:03:02] jpokotilow at tuneteller dot com

Description:
------------
I invoke PDO::query() twice, with two different valid 
SQL queries from within a class method. (Note: I make sure to 
invoke fetchAll() on the PDOStatement object returned by the 
first invocation before invoking PDO::query() a second time. 
Update: I just found out that if I set the first PDOStatement 
object to NULL, everything works as intended. HOWEVER, 
invoking fetchAll() should suffice, should it not?) I return 
the PDOStatement object generated by the second PDO::query() 
invocation. I'm unable to iterate over the object with a 
foreach() construct even though there ought to be results. 
Invoking fetchAll() on the object returns an empty array.

If I set the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute to 
true, I don't have this problem, but I'm pretty sure I 
shouldn't have it either way.

Reproduce code:
---------------
http://pastebin.com/825493

Expected result:
----------------
I expect to be able to iterate over rows associated with 
$broken_iterable_results ... or I would expect for 
$broken_iterable_results->fetchAll() to return rows associated 
with the PDOStatement object. At the very least, I expect for 
some error to be generated if I'm doing anything wrong.

Note: With PDO::ERRMODE_EXCEPTION set to true, there is an 
exception thrown.

Actual result:
--------------
Iterating over $broken_iterable_results results does nothing. 
Invoking $broken_iterable_results->fetchAll() returns an 
empty array.


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


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

Reply via email to