From: Frank M. Kromann Date: Mon, 17 Nov 2003 20:53:28 +0000 (+0000) Subject: Fix for bug #25817 X-Git-Tag: php-4.3.5RC1~195 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ffa0515b59328e92df7def6b60a3dcc8354b526b;p=php Fix for bug #25817 Check for a return value from a stored procedure right after fetching rows --- diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c index 1956b22af4..31859e953d 100644 --- a/ext/mssql/php_mssql.c +++ b/ext/mssql/php_mssql.c @@ -1061,6 +1061,9 @@ static int _mssql_fetch_batch(mssql_link *mssql_ptr, mssql_result *result, int r result->lastresult = retvalue; } efree(column_types); + if (result->statement) { + _mssql_get_sp_result(mssql_ptr, result->statement TSRMLS_CC); + } return i; } @@ -1788,9 +1791,6 @@ 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(result->mssql_ptr, result->statement TSRMLS_CC); - } RETURN_FALSE; } else { @@ -2120,11 +2120,8 @@ PHP_FUNCTION(mssql_execute) result->num_fields = num_fields; result->fields = (mssql_field *) emalloc(sizeof(mssql_field)*num_fields); - result->num_rows = _mssql_fetch_batch(mssql_ptr, result, retvalue TSRMLS_CC); result->statement = statement; - } - else { - _mssql_get_sp_result(mssql_ptr, statement TSRMLS_CC); + result->num_rows = _mssql_fetch_batch(mssql_ptr, result, retvalue TSRMLS_CC); } } }