]> granicus.if.org Git - php/commitdiff
fix for PECL Bug #5827.
authorWez Furlong <wez@php.net>
Sun, 9 Apr 2006 06:41:42 +0000 (06:41 +0000)
committerWez Furlong <wez@php.net>
Sun, 9 Apr 2006 06:41:42 +0000 (06:41 +0000)
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).

ext/pdo_mysql/mysql_statement.c

index 846acd1938e171c0dc7ead22d3a1aa77c9ddc712..9d861aee48367ed637ed6d324072391c5ede16d3 100755 (executable)
@@ -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;
 }