summaryrefslogtreecommitdiff
path: root/ext/pdo_mysql/mysql_statement.c
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2006-04-09 06:49:07 +0000
committerWez Furlong <wez@php.net>2006-04-09 06:49:07 +0000
commitbb5f3aa0123d85e6e4270d35e330b49b74efdc5f (patch)
tree6c28d655bc24159c5f5adcd441143f24caf7e200 /ext/pdo_mysql/mysql_statement.c
parent0f4137fbd9359fa4e0af48ce4399f91a2bd72339 (diff)
downloadphp-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-xext/pdo_mysql/mysql_statement.c10
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;
}