Php JSON编码缺少MySQL中的第一行

Php JSON编码缺少MySQL中的第一行,php,mysql,json,fetch,Php,Mysql,Json,Fetch,我试图将表中的所有行编码为JSON,但它似乎错过了第一行 $sql = "SELECT * FROM NewsStream"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "echo: " . $row["id"]. " " . $row["title"]. " " . $row["

我试图将表中的所有行编码为JSON,但它似乎错过了第一行

$sql = "SELECT * FROM NewsStream";
$result = $conn->query($sql);

if ($result->num_rows > 0) {

    while($row = $result->fetch_assoc()) {
        echo "echo: " . $row["id"]. "  " . $row["title"]. " " . $row["content"]. "<br />";
        echo "JSON: " . json_encode($row). "<br />";
    }
}
为什么第一个“JSON:”在回显结果正确时丢失了?

试试这个

$return_arr = array();

$fetch = mysql_query("SELECT * FROM NewsStream");

while ($row = mysql_fetch_assoc($fetch)) {
$data=array();  
 foreach ($row as $key => $value) {
    $data[$key]=$value;
 }
 $return_arr[] = $data;
}
echo json_encode($return_arr);
试试这个:

$sql = "SELECT * FROM NewsStream";
$rows = array();
while($r = mysqli_fetch_assoc($sql)) {
    $rows[] = $r;
}
print json_encode($rows)

$return_arr=array()$fetch=mysql_query(“从新闻流中选择*);回声“;而($row=mysql\u fetch\u assoc($fetch)){$data=array();foreach($row as$key=>$value){$data[$key]=$value;}$return\u arr[]=$data;}echo json\u encode($return\u arr)<代码>数据\u供应商不是OP的表名您是否尝试过在PHP中显示错误?另外,使用
print\r($row)
代替第一个
echo
json\u last\u error()
由于json\u encode未能对结果数组进行编码,因此您将获得空白结果。检查列字段值中是否有单引号/双引号。您可以先尝试选择几个列,例如“从新闻流中选择字段1、字段2”,然后检查是否获得编码数据
$sql = "SELECT * FROM NewsStream";
$rows = array();
while($r = mysqli_fetch_assoc($sql)) {
    $rows[] = $r;
}
print json_encode($rows)