summaryrefslogtreecommitdiff
path: root/ext/mssql/php_mssql.c
diff options
context:
space:
mode:
authorFrank M. Kromann <fmk@php.net>2004-04-20 23:31:39 +0000
committerFrank M. Kromann <fmk@php.net>2004-04-20 23:31:39 +0000
commit4c5521ad813e842988f7ee33ada9ce6e913c5f63 (patch)
treeeef6c2416fe36097f679d7ce842fb17aac19b7c8 /ext/mssql/php_mssql.c
parent808dee23d74316280d6b27cbc366a90a2959ed69 (diff)
downloadphp-git-4c5521ad813e842988f7ee33ada9ce6e913c5f63.tar.gz
MFH: Fix problem getting return value from stored procedure when it returns multiple results
Diffstat (limited to 'ext/mssql/php_mssql.c')
-rw-r--r--ext/mssql/php_mssql.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c
index f1ca1c8672..751e8fdd27 100644
--- a/ext/mssql/php_mssql.c
+++ b/ext/mssql/php_mssql.c
@@ -1090,7 +1090,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;
@@ -1820,6 +1820,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 {