diff options
author | Wez Furlong <wez@php.net> | 2006-04-09 06:49:07 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2006-04-09 06:49:07 +0000 |
commit | bb5f3aa0123d85e6e4270d35e330b49b74efdc5f (patch) | |
tree | 6c28d655bc24159c5f5adcd441143f24caf7e200 /ext/pdo_mysql/mysql_statement.c | |
parent | 0f4137fbd9359fa4e0af48ce4399f91a2bd72339 (diff) | |
download | php-git-bb5f3aa0123d85e6e4270d35e330b49b74efdc5f.tar.gz |
This completes the fix for PECL #5827; we need to gobble up result sets in the
stmt dtor too.
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 9d861aee48..4d7754a7e2 100755 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -67,6 +67,16 @@ static int pdo_mysql_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC) efree(S->out_length); } #endif +#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 efree(S); return 1; } |