diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index 591443520fa3d..429c216ba6595 100644 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -118,7 +118,17 @@ static void pdo_mysql_stmt_set_row_count(pdo_stmt_t *stmt) /* {{{ */ row_count = (zend_long) mysql_stmt_affected_rows(S->stmt); if (row_count != (zend_long)-1) { stmt->row_count = row_count; - } + }else { + if (!H->buffered) { + S->result = mysql_use_result(H->server); + } else { + S->result = mysql_store_result(H->server); + } + S->stmt = NULL; + stmt->dbh->methods = NULL; + pdo_mysql_error_stmt(stmt); + PDO_DBG_VOID_RETURN; + } } /* }}} */