Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:调用未定义的方法mysqli_result::fetch_all()_Php_Mysqli_Fetchall_Mysqlnd - Fatal编程技术网

Php 致命错误:调用未定义的方法mysqli_result::fetch_all()

Php 致命错误:调用未定义的方法mysqli_result::fetch_all(),php,mysqli,fetchall,mysqlnd,Php,Mysqli,Fetchall,Mysqlnd,我对Ubuntu 10.04中的PHP有问题。当我尝试使用mysqli_result::fetch_时,会出现以下所有错误: 调用未定义的方法mysqli\u result::fetch\u all() 但是,它可以在Windows XP中工作 守则: $result = $this->dbh->query('SELECT [...] '); return $result->fetch_all(MYSQLI_ASSOC); 我不想在循环中使用fetch_assoc,因为我将结

我对Ubuntu 10.04中的PHP有问题。当我尝试使用mysqli_result::fetch_时,会出现以下所有错误:

调用未定义的方法mysqli\u result::fetch\u all()

但是,它可以在Windows XP中工作

守则:

$result = $this->dbh->query('SELECT [...] ');
return $result->fetch_all(MYSQLI_ASSOC);
我不想在循环中使用fetch_assoc,因为我将结果发送到另一层进行处理

我使用的是PHP5.4.4。使用php-m | grep mysqlmysqlnd模块时,它不会出现。如何安装它?这可能是问题所在吗

mysqli_result::fetch_all()需要MySQL本机驱动程序(mysqlnd)

你可能会错过它

看看这些帖子,可能会对你有所帮助

仅适用于mysqlnd


关于启用
mysqlnd
的注意事项:

fetch\u all
比fetch\u array()消耗更多内存,并有其他有害的副作用,因此与其修复
fetch\u all
不如使用
fetch\u array
fetch\u assoc

PHP文档中的详细信息:

仅适用于mysqlnd

因为mysqli_fetch_all()以数组的形式在单个数组中返回所有行 步骤中,它可能会比一些类似的函数(如 mysqli_fetch_array(),它一次只从 结果集。此外,如果需要迭代结果集,可以 将需要一个将进一步影响性能的循环构造。 出于这些原因,mysqli_fetch_all()应该只在那些 获取的结果集将被发送到另一层的情况 用于处理

如果你真的想使用它,你必须用本机驱动器(mysqlnd)安装mySQL 安装示例:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
在Ubuntu上,你只需要

sudo apt-get install php5-mysqlnd

当你说它在不同的平台上“工作”时——你是说PHP和MySql的两个独立安装吗?或者你指的是浏览器?请检查我的答案。Ubuntu用户只需执行以下操作:
sudo apt get install php5 mysqlnd
@Ibrahim、@Pacerier,您使用的是什么操作系统?@ibrahimazharmar,Win server 2003。尝试启用mysqlnd扩展,请点击此处的链接寻求帮助,但问题的答案在哪里?这必须是一条评论