PHP - 在while循环中没有显示mysqli_fetch_assoc的任何内容

时间:2016-10-20 20:55:31

标签: php mysql json

我想通过JSON将一些数据从MySQL数据库提供给Android应用程序。

到目前为止,我已经编写了这个PHP脚本来给我JSON对象:

$result = mysqli_query($con,"SELECT * FROM job");

$row = mysqli_fetch_assoc($result); 

while($row = mysqli_fetch_assoc($result)){
  $output[] = $row;
}

print(json_encode($output));

我偶然发现当我不添加“$ row = mysqli_fetch_assoc($ result);”这一行时在while循环之前它不返回任何东西。但是当我在示例中添加此行时,JSON对象不包含第一个元素。

我相信它是因为这行$ row已经包含第一行。

希望你能帮助我:)。

1 个答案:

答案 0 :(得分:1)

为了弄清楚你的查询有什么问题,你必须做这样的事情:

if ($result = mysqli_query($db, $sql)) {
    // Here you can see and check count of rows in your result set.
    $numRows = mysqli_num_rows($result);
    // ...
} else {
    // Here you can see and check and understand error.
    var_export(mysqli_error($db));
}

目的是遍历您必须执行的结果集中的所有行:

while ($row = mysqli_fetch_assoc($result)) {
    var_export($row);
}

并且在循环之前你不能有$row = mysqli_fetch_assoc($result)