ID: 39759
User updated by: mike at we11er dot co dot uk
Reported By: mike at we11er dot co dot uk
-Status: Bogus
+Status: Open
Bug Type: PDO related
Operating System: Windows XP
PHP Version: 5.2.0
New Comment:
I'm reopening this because it isn't a feature request, it's a /bug/.
You cannot use stored procedures. That is a bug! And the bug
report/feature request you mention has been idling for months.
This is an important issue and I have yet to hear any acknowledgement
that this is an issue worth fixing. It's getting rather annoying now.
Previous Comments:
------------------------------------------------------------------------
[2006-12-06 17:14:35] [EMAIL PROTECTED]
Duplicate of feature request #38842.
------------------------------------------------------------------------
[2006-12-06 17:09:57] mike at we11er dot co dot uk
Description:
------------
On the windows version of pdo_mysql, the nextRowset() method isn't
implemented for PDOStatement.
This means that when executing a stored procedure, it is impossible to
fetch all result sets, because all stored procedures return multiple
result sets (one contains a return value of some sort).
Because you can't fetch all result sets, all subsequent queries are
broken, with the following error/exception:
SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other
unbuffered queries are active. Consider using PDOStatement::fetchAll().
nextRowset() is /required/ to properly use stored procedures.
Reproduce code:
---------------
It should be possible to fetch all results from a stored procedure with
code like this:
$stmt = $db->prepare("CALL SomeProcedure()");
$stmt->execute();
do
{
$stmt->fetchAll();
} while ($stmt->nextRowset());
Intead the error message:
SQLSTATE[HYC00]: Optional feature not implemented
Is displayed. But I don't see how this can be optional in this case, it
is required.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=39759&edit=1