【问题标题】:Array indexing using while loop and json encodeing not working in PHP使用while循环和json编码的数组索引在PHP中不起作用
【发布时间】:2017-03-10 12:39:59
【问题描述】:

这段代码在我们的本地主机上运行时有效:

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

但是,当它在服务器(Godaddy Hosting)上运行时,它会返回一个空值。

【问题讨论】:

  • 相同的数据库连接?什么$result->num_rows
  • 你是用 $tmp 变量保存 $result->num_rows() 输出还是和他们比较。
  • 您的实时数据库在结构和数据方面是否与本地数据库相似?谢谢。

标签: php arrays json mysqli


【解决方案1】:

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

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

您也可以使用json_last_error 来帮助您调试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 2019-12-06
    • 2012-04-15
    • 1970-01-01
    • 2018-09-22
    • 2023-03-29
    相关资源
    最近更新 更多