Bug #44305 [Opn->Ver]: odbc_next_result - mysql procedure with multiple results

From: Date: Fri, 02 Oct 2020 21:36:09 +0000
Subject: Bug #44305 [Opn->Ver]: odbc_next_result - mysql procedure with multiple results
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-229351@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=44305&edit=1 ID: 44305 Updated by: cmb@php.net Reported by: martin dot dufka at atlas dot cz Summary: odbc_next_result - mysql procedure with multiple results -Status: Open +Status: Verified Type: Bug Package: ODBC related Operating System: WIN2000 -PHP Version: 5.2.5 +PHP Version: 7.3 Block user comment: N Private report: N New Comment: I can confirm the reported behavior for PHP-7.3 with the MySQL ODBC 8.0 Unicode driver, while the ODBC driver 17 for SQL Server behaves as expected. PDO_ODBC shows basically the same behavior. It seems to me that adding the additional result set is a quirk of MySQL, but I don't see how that result set would be useful in any way, since SQLNumResultCols() as well as SQLRowCount() yield zero for it. Previous Comments: ------------------------------------------------------------------------ [2008-03-01 17:04:15] martin dot dufka at atlas dot cz Description: ------------ problem with: odbc_next_result() mysql-server: 5.0.51a (.45-the same problem) odbc driver: Driver={MySQL ODBC 3.51 Driver} when MySQL procedure returns 2 rowsets, after the second rowset odbc_next_result() returns true. Reproduce code: --------------- <?php /* mysql: CREATE PROCEDURE multiplerowsets() BEGIN select 'rs1'; select 'rs2'; END; */ $dsn="Driver={MySQL ODBC 3.51 Driver};Server=localhost;Port=3306;Database=db_name;"; $conn=odbc_connect($dsn,'user','passwd'); $query="call multiplerowsets"; $result=odbc_exec($conn,$query); $row=odbc_fetch_array ($result); var_dump(odbc_next_result($result)); $row=odbc_fetch_array ($result); var_dump(odbc_next_result($result)); $row=odbc_fetch_array ($result); var_dump(odbc_next_result($result)); ?> Expected result: ---------------- bool(true) bool(false) bool(false) Actual result: -------------- bool(true) bool(true) Warning: odbc_fetch_array() [function.odbc-fetch-array]: No tuples available at this result index in D:\Apache2.2\htdocs\test\x.php on line 19 bool(false) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=44305&edit=1

« previous php.bugs (#229351) next »