Php MySQLi&;fetch_all(MYSQLI_ASSOC)不返回任何内容

Php MySQLi&;fetch_all(MYSQLI_ASSOC)不返回任何内容,php,mysql,mysqli,Php,Mysql,Mysqli,在phpMyAdmin中,我可以使用以下SQL而不会出现错误,并且我得到一个包含3个条目的表: SELECT * FROM ticket_orders WHERE 1 但是,当我运行此php代码时: $quickDbConn = new mysqli($dbHost, $dbUser, $dbPass, $dbName); $result = $quickDbConn->query('SELECT * FROM ticket_orders WHERE 1'); var_dump($qu

在phpMyAdmin中,我可以使用以下SQL而不会出现错误,并且我得到一个包含3个条目的表:

SELECT * FROM ticket_orders WHERE 1
但是,当我运行此php代码时:

$quickDbConn = new mysqli($dbHost, $dbUser, $dbPass, $dbName);
$result = $quickDbConn->query('SELECT * FROM ticket_orders WHERE 1');

var_dump($quickDbConn);
var_dump($quickDbConn->client_info);
var_dump($quickDbConn->client_version);
var_dump($quickDbConn->info);
var_dump($result);
var_dump(!!$result);
var_dump(MYSQLI_ASSOC);
var_dump($result->fetch_all(MYSQLI_ASSOC));

$quickDbConn->close();
我得到以下输出:

object(mysqli)#1 (19) { ["affected_rows"]=> int(3) ["client_info"]=> string(6) "5.5.30" ["client_version"]=> int(50530) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(7) ["host_info"]=> string(23) "xx.xx.xxx.xx via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(6) "5.5.30" ["server_version"]=> int(50530) ["stat"]=> string(144) "Uptime: 156684 Threads: 1 Questions: 2835826 Slow queries: 36 Opens: 19439 Flush tables: 1 Open tables: 64 Queries per second avg: 18.099" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(74151) ["warning_count"]=> int(0) }

string(6) "5.5.30"

int(50530)

NULL

object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(7) ["lengths"]=> NULL ["num_rows"]=> int(3) ["type"]=> int(0) }

bool(true)

int(1) 

有人能解释一下为什么
$result->fetch\u all(MYSQLI\u ASSOC)
什么也不返回吗?或者我该如何解决这个问题?

它不起作用,因为fetch\u都只能用。但是,如果您想同时以枚举数组和关联数组的形式获取查询结果,则必须使用fetch_数组(MYSQLI_两者都可以)。

“仅适用于mysqlnd。”我们实际上看不到
fetch\u all
的结果。显示的最后一个输出是
var\u dump(MYSQLI\u ASSOC)
不返回任何内容-不为null,不为false-只返回一个空白行不,它不会这样做。这意味着
var\u dump
根本没有运行,发生这种情况的唯一方法是发生致命错误。您的错误报告设置和/或错误日志如何…?var_dump不可能返回“什么都不返回”-除非您的脚本甚至没有返回那么远。启用正确的PHP错误报告,然后查看您得到了什么。您是对的-这不起作用,因为此版本的PHP上没有安装mysqlnd-我无法重新编译或升级PHP,因此最终我不得不找到一个完全不同的解决方案:(