diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index e6e75be16a6..62db2c66369 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -1516,9 +1516,9 @@ static PHP_METHOD(PDOStatement, fetchAll) while (do_fetch(stmt, 1, &data, how | flags, PDO_FETCH_ORI_NEXT, 0, return_all TSRMLS_CC)); } else { array_init(return_value); - while (do_fetch(stmt, 1, &data, how | flags, PDO_FETCH_ORI_NEXT, 0, 0 TSRMLS_CC)) { + do { add_next_index_zval(return_value, &data); - } + } while (do_fetch(stmt, 1, &data, how | flags, PDO_FETCH_ORI_NEXT, 0, 0 TSRMLS_CC)); } } diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index df3a3955c89..ac01102bba0 100644 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -404,7 +404,8 @@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt TSRMLS_DC) /* {{{ */ /* ensure that we free any previous unfetched results */ #ifndef PDO_USE_MYSQLND if (S->stmt) { - stmt->column_count = (int)mysql_num_fields(S->result); + //???? This line is very suspicious + //stmt->column_count = (int)mysql_num_fields(S->result); mysql_stmt_free_result(S->stmt); } #endif