From ffa0515b59328e92df7def6b60a3dcc8354b526b Mon Sep 17 00:00:00 2001 From: "Frank M. Kromann" Date: Mon, 17 Nov 2003 20:53:28 +0000 Subject: [PATCH] Fix for bug #25817 Check for a return value from a stored procedure right after fetching rows --- ext/mssql/php_mssql.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) 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); } } } -- 2.50.1