Php mysqli fetch_all()不是有效的函数?
由于这些答案,我发现我无法使用Php mysqli fetch_all()不是有效的函数?,php,mysqli,Php,Mysqli,由于这些答案,我发现我无法使用fetch_all(),因为我在循环工作时使用PHP5.2.17-fetch_assoc 我正在使用的函数fetch\u all返回时出现以下错误: 致命错误:在中调用未定义的方法mysqli_result::fetch_all() 我能够连接到DB,并且我拉了一行。当我将查询放在PHPMYADMIN中时,返回了5行 这个功能还能用吗?有没有办法自己将数据放入assoc数组?请小心使用fetch_all() 阅读有关mysqldn要求的说明。请小心使用fetch
fetch_all()
,因为我在循环工作时使用PHP5.2.17
-fetch_assoc
我正在使用的函数fetch\u all
返回时出现以下错误:
致命错误:在中调用未定义的方法mysqli_result::fetch_all()
我能够连接到DB,并且我拉了一行。当我将查询放在PHPMYADMIN中时,返回了5行
这个功能还能用吗?有没有办法自己将数据放入assoc数组?请小心使用fetch_all()
阅读有关mysqldn要求的说明。请小心使用fetch_all()
阅读有关mysqldn要求的说明。此函数从PHP 5.3.0开始提供。可能你的版本比较旧。改用fetch\u assoc()
while ($row = $result->fetch_assoc()) {
// do what you need.
}
此函数自PHP5.3.0开始提供。可能你的版本比较旧。改用fetch\u assoc()
while ($row = $result->fetch_assoc()) {
// do what you need.
}
作为FabRiZOS解决方案的补充,请考虑用循环建立数组:
$array = array();
while($row = $result->fetch_assoc())
$array[] = $row;
作为FabRiZOS解决方案的补充,请考虑用循环建立数组:
$array = array();
while($row = $result->fetch_assoc())
$array[] = $row;
构造关联数组的典型方法是在while
循环中:
$results_array = array();
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) {
$results_array[] = $row;
}
构造关联数组的典型方法是在while
循环中:
$results_array = array();
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) {
$results_array[] = $row;
}
mysqli::fetch_all()
需要安装mysqlnd
驱动程序才能使用它。mysqli::fetch_all()
需要安装mysqlnd驱动程序才能使用它。PHP致命错误:调用未定义的函数mysqli_fetch_all()
更改为:PHP5.3或
$query = "SELECT * FROM `user_counter` ORDER BY id DESC LIMIT 20";
$result = mysqli_query($connection, $query) or die
("Error in Selecting " . mysqli_error($connection));
$rows = array();
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
}
echo json_encode($rows);
PHP致命错误:调用未定义的函数mysqli_fetch_all() 更改为:PHP5.3或
$query = "SELECT * FROM `user_counter` ORDER BY id DESC LIMIT 20";
$result = mysqli_query($connection, $query) or die
("Error in Selecting " . mysqli_error($connection));
$rows = array();
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
}
echo json_encode($rows);
只需添加一个关于
mysqlnd
驱动程序的附加说明:它还必须安装mysqli
API扩展。没有扩展,fetch\u all()
仍然不可用。我在排除代码在一台服务器上工作而在另一台服务器上工作的原因时发现了这一点,这两台服务器都是PHP>5.3。使用phpinfo()
验证已安装的扩展。只需添加有关mysqlnd
驱动程序的附加说明:它还必须安装mysqli
API扩展。没有扩展,fetch\u all()
仍然不可用。我在排除代码在一台服务器上工作而在另一台服务器上工作的原因时发现了这一点,这两台服务器都是PHP>5.3。使用phpinfo()
验证已安装的扩展。我有5.6版本,但无论如何都不适用于我。通过启用mysqlnd驱动程序,它为我工作。只需编写apt get install php5 mysqlnd
,然后重新启动php,就可以开始了 我的成绩是5.6分,但无论如何都不适合我。通过启用mysqlnd驱动程序,它为我工作。只需编写apt get install php5 mysqlnd
,然后重新启动php,就可以开始了 如果您不想使用答案进行迭代,
function runQuery($query) {
$result = mysqli_query($this->conn,$query);
$resultset = array(); //you need to define array
while($row=$result->fetch_assoc()) {
$resultset[] = $row; //then insert result into the array
}
if(!empty($resultset))
{
return $resultset;}
else{return 'empty';};
}
使用 while($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
$rows[] = $row;
}
达到与之相同的结果
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
您可以将常量更改为MYSQLI\u NUM
或MYSQLI\u两者
。
此可选参数是常量,指示应从当前行数据生成何种类型的数组
请注意,mysqli_fetch_数组($result,mysqli_ASSOC)
的行为与mysqli_fetch_ASSOC()
函数相同,而mysqli_fetch_数组($result,mysqli_NUM)
的行为与mysqli_fetch_行()
函数相同。最后一个选项MYSQLI\u all
将创建一个包含这两个属性的数组。
如果您不想使用答案进行迭代, 使用
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
$rows[] = $row;
}
达到与之相同的结果
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
您可以将常量更改为MYSQLI\u NUM
或MYSQLI\u两者
。
此可选参数是常量,指示应从当前行数据生成何种类型的数组
请注意,mysqli_fetch_数组($result,mysqli_ASSOC)
的行为与mysqli_fetch_ASSOC()
函数相同,而mysqli_fetch_数组($result,mysqli_NUM)
的行为与mysqli_fetch_行()
函数相同。最后一个选项MYSQLI\u all
将创建一个包含这两个属性的数组。
问题似乎是“mysqli”和“mysqlnd”不在一起工作。我在cpanel也有同样的问题 步骤: 1) 转到CPanel仪表板 2) 转到“选择PHP版本”,您将看到一组复选框 3) 设置PHP版本(5.4或更高版本) 4) 取消选中“mysqli”扩展,同时选中“mysqlind”和“nd_mysqli” 显然,“nd_mysqli”是“mysqli”,但配置为与“mysqlind”一起工作,并且为了使其工作,由于设置冲突,您必须取消选中“mysqli”
下面的答案对我很有帮助。问题似乎是“mysqli”和“mysqlnd”不在一起工作。我在cpanel也有同样的问题 步骤: 1) 转到CPanel仪表板 2) 转到“选择PHP版本”,您将看到一组复选框 3) 设置PHP版本(5.4或更高版本) 4) 取消选中“mysqli”扩展,同时选中“mysqlind”和“nd_mysqli” 显然,“nd_mysqli”是“mysqli”,但配置为与“mysqlind”一起工作,并且为了使其工作,由于设置冲突,您必须取消选中“mysqli”
下面的答案对我很有帮助。是的,如果您在Debian上运行roundcube,它将停止工作,因为mysqlnd删除了php-mdb2-driver-mysql和roundcube-mysql驱动程序。因此,请使用“是”安装mysqlnd,如果您在Debian上运行roundcube,它将停止工作,因为mysqlnd删除了php-mdb2-driver-mysql和roundcube-mysql驱动程序。因此,安装mysqlnd时要注意,这个答案基本上是错误的<代码>mysqli_获取_数组($result,mysqli_ASSOC)代码>未达到相同的r