php - MySQL 相当于 pg_fetch_all()

标签 php mysql arrays json postgresql

我创建了以下 PHP 文件:

if (isset($_GET['review']))
    $query = "SELECT text, rating, date, member FROM reviews WHERE users = '" . mysqli_real_escape_string($link, $_GET['review']) . "'";
else if (isset($_GET['rating']))
    $query = "SELECT ROUND(avg_rating, 2) as avg, num_recensioni FROM avg_voti WHERE users = '" . mysqli_real_escape_string($link, $_GET['rating']) . "'";
else if (isset($_POST['usersId']))
    $query = "SELECT id, name, desc, addr FROM users WHERE id = '" . mysqli_real_escape_string($link, $_POST['usersId']) . "' ORDER BY name ASC";

$result = pg_query($link, $query);
$arr = pg_fetch_all($result);
echo json_encode($arr);

现在,由于我将数据库从 Postegres 更改为 MySQL,我需要“转换”该代码。所以我这样改变了最后三行:

$result = mysqli_query($link, $query);
$arr = mysqli_fetch_all($result);
echo json_encode($arr);

但是 mysqli_fetch_all() 似乎未定义。我可以使用什么来获得 pg_fetch_all() 的相同内容?提前致谢

编辑:我的 PHP 版本是 5.4.39

最佳答案

作为PHP Docs对于函数 mysqli_fetch_all() 来说,它需要 PHP 版本 >= 5.3.0。检查你的

HOW TO check PHP version: http://php.net/manual/en/function.phpversion.php

更新:

  • 检查您的服务器中是否安装了 mysqlnd 驱动程序(请参阅相同的文档页面)
  • 尝试使用 mysqli_fetch_array()

更新2:

方法 1:

HOW TO use mysqli_fetch_array() to fetch all rows: mysql_fetch_array add all rows?

下一个代码是mysql函数而不是mysqli,但如果你更改函数名称它就会工作

$rows = array();

while(($row = mysql_fetch_array($result))) {
    $rows[] = $row;
}
<小时/>

方法 2:

HOW TO use mysqli_fetch_assoc() to fetch all rows: http://php.net/manual/en/function.mysql-fetch-array.php#87201

// Read records
$result = mysqli_query("SELECT * FROM table;") or die(mysql_error());
// Put them in array
for($i = 0; $array[$i] = mysqli_fetch_assoc($result); $i++) ;
// Delete last empty one
array_pop($array);

“您需要删除最后一个,因为它始终为空。 通过这种方式,您可以轻松地将整个表读取到数组中并保留表列的键。非常方便。”

关于php - MySQL 相当于 pg_fetch_all(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31560999/

相关文章:

php - 如何在 PHP 中获取一个月的第一个、第三个和第五个星期六?

php - OOP PHP - 简单会计/财务系统的潜在类

用于小值集的 mysql 多个索引

与等效的双维数组混淆

javascript - 将所有表单值放入 JavaScript 数组中

xpath php 属性不起作用?

php - 不存在的类: Template - Upgrade to Code Igniter 3.0.0

mysql - Node Js : MYSQL is not connecting

PHP 更新查询日期未插入?

javascript - 刷新时清除 pushState 创建的 html 历史记录