diff options
author | Wez Furlong <wez@php.net> | 2006-04-09 06:41:42 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2006-04-09 06:41:42 +0000 |
commit | 0f4137fbd9359fa4e0af48ce4399f91a2bd72339 (patch) | |
tree | 46598843ad6ea5539b7dda6d7df4d81f3b10234b /ext/pdo_mysql/mysql_statement.c | |
parent | 9e5655387a6cfc5e0b22c2884e89aa627fcc41e4 (diff) | |
download | php-git-0f4137fbd9359fa4e0af48ce4399f91a2bd72339.tar.gz |
fix for PECL Bug #5827.
We're responsible for gobbling up supplemental result sets in closeCursor()
(which is what PDO does for us if we didn't implement our own closer routine).
Diffstat (limited to 'ext/pdo_mysql/mysql_statement.c')
-rwxr-xr-x | ext/pdo_mysql/mysql_statement.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index 846acd1938..9d861aee48 100755 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -590,6 +590,16 @@ static int pdo_mysql_stmt_cursor_closer(pdo_stmt_t *stmt TSRMLS_DC) mysql_free_result(S->result); S->result = NULL; } +#if HAVE_MYSQL_NEXT_RESULT + while (mysql_more_results(S->H->server)) { + if (mysql_next_result(S->H->server) == 0) { + MYSQL_RES *res = mysql_store_result(S->H->server); + if (res) { + mysql_free_result(res); + } + } + } +#endif return 1; } |