]> granicus.if.org Git - php/commitdiff
Fix problem getting return value from stored procedure when it returns multiple results
authorFrank M. Kromann <fmk@php.net>
Tue, 20 Apr 2004 23:30:51 +0000 (23:30 +0000)
committerFrank M. Kromann <fmk@php.net>
Tue, 20 Apr 2004 23:30:51 +0000 (23:30 +0000)
ext/mssql/php_mssql.c

index 243ebcbc81c592f52b84b5bca322fc80bf26e757..c4708802b56a6059efdb84ef399076cbd211f485 100644 (file)
@@ -1080,7 +1080,7 @@ static int _mssql_fetch_batch(mssql_link *mssql_ptr, mssql_result *result, int r
                result->lastresult = retvalue;
        }
        efree(column_types);
-       if (result->statement) {
+       if (result->statement && (retvalue == NO_MORE_RESULTS || retvalue == NO_MORE_RPC_RESULTS)) {
                _mssql_get_sp_result(mssql_ptr, result->statement TSRMLS_CC);
        }
        return i;
@@ -1803,6 +1803,9 @@ PHP_FUNCTION(mssql_next_result)
                RETURN_FALSE;
        }
        else if (retvalue == NO_MORE_RESULTS || retvalue == NO_MORE_RPC_RESULTS) {
+               if (result->statement) {
+                       _mssql_get_sp_result(mssql_ptr, result->statement TSRMLS_CC);
+               }
                RETURN_FALSE;
        }
        else {