diff options
Diffstat (limited to 'ext/pdo_mysql/mysql_statement.c')
-rwxr-xr-x | ext/pdo_mysql/mysql_statement.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index 4d7754a7e2..920702b3c9 100755 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -69,11 +69,14 @@ static int pdo_mysql_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC) #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); - } + MYSQL_RES *res; + if (mysql_next_result(S->H->server) != 0) { + break; + } + + res = mysql_store_result(S->H->server); + if (res) { + mysql_free_result(res); } } #endif @@ -602,11 +605,13 @@ static int pdo_mysql_stmt_cursor_closer(pdo_stmt_t *stmt TSRMLS_DC) } #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); - } + MYSQL_RES *res; + if (mysql_next_result(S->H->server) != 0) { + break; + } + res = mysql_store_result(S->H->server); + if (res) { + mysql_free_result(res); } } #endif |