> 
> I've been writing a chapter on database programming with PHP, 
> using PDO, and ran across a scenario that has not yet been 
> fulfilled by the PDO API. Many databases (Apache Derby, DB2, 
> Microsoft SQL Server, MySQL 5, and PostgreSQL to a certain 
> extent) support stored procedures that can return multiple 
> result sets. Database APIs typically set the result set 
> pointer to the first row of the first result set returned, 
> allow the application to iterate through the rows, and 
> provide some method to request the second result set from the 
> database server.
> 
> In ODBC, for example, you would call SQLFetch() to iterate 
> through the rows of the first result set, then call 
> SQLNextResult() to request the next result set.
> 
> In the PHP realm, Unified ODBC defines odbc_next_result(); 
> mssql defines mssql_next_result(); PEAR::DB defines 
> DB_Result:nextResult().
> 
> PDO, however, currently provides no means of working with the 
> second or subsequent result sets returned from a call to a 
> stored procedure.
> 
> To build on the established naming practice from existing 
> database extensions, I propose that the PDO interface define 
> the standard
> method:
> /* {{{ proto bool PDOStatement::nextResult(void) Requests the 
> next result set from the database */
> 
> Thanks,
> Dan
> 
> Note: somewhat confusingly, mysqli defines 
> mysqli_next_result(), but this is used to retrieve the 
> results of a multi-query... a very different thing, and not 
> something I advocate adding to PDO. They might have trouble 
> disambiguating that from the stored procedure case when MySQL 
> 5 reaches production status.
> 

Doesn't PDOStatement::nextRowset() do this?

Jared

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to