使用while循环和json编码的数组索引在PHP

时间:2017-03-10 12:39:59

标签: php arrays json mysqli

此代码在我们的localhost上运行时起作用:

if($result){
     if($tmp=$result->num_rows){
         while($row = $result->fetch_assoc()) {
             $myArray[]  = $row;
         }
       echo json_encode($myArray[0]);
     }
}

但是,当它在服务器上运行时(Godaddy Hosting)它会重新获得空值。

1 个答案:

答案 0 :(得分:0)

检查数据库中是否有任何结果。如果是,则检查是否有任何非ASCII字符使json_encode返回false,或者使用utf8_encode对其进行编码:

while($row = $result->fetch_assoc()) {
      $myArray[]  = array_map('utf8_encode', $row);
}

您还可以使用json_last_error来帮助您进行重新分配。