2017-07-15 67 views
0

我创建的PHP从MySQL数据库检索数据并将其转换为JSON,然后将其回显。我有300条记录,PHP能够显示JSON并在查看时可见。PHP JSON不显示MySQL结果

但是,我在同一个表中添加了另外100条记录,并且出于某种原因,JSON未显示。它只是空白而没有错误。但是,当我删除100条记录时,JSON显示为正常。

在此期间我还没有碰过PHP文件。原因是什么?

<?PHP 
    include_once("connection.php"); 

$query = "select id,mosque_name,latitude,longitude from mosques;"; 

    $result = mysqli_query($conn, $query); 

if (mysqli_num_rows($result) > 0) { 

    $response["mosques"] = array(); 

    while ($row = mysqli_fetch_array($result)) { 

     $mosque = array(); 
     $mosque["id"] = $row["id"]; 
     $mosque["mosque_name"] = $row["mosque_name"]; 
     $mosque["latitude"] = $row["latitude"]; 
     $mosque["longitude"] = $row["longitude"]; 

     array_push($response["mosques"], $mosque); 
    } 

    $response["success"] = 1; 

    // echoing JSON response 
    echo json_encode($response); 
} else { 

    $response["success"] = 0; 
    $response["message"] = "No mosques found"; 

    echo json_encode($response); 
} 
?> 
+0

检查结果可能是一堆的理由。也许在新数据中有一个撇号。 – Strawberry

+0

你可以检查[json_last_error](http://php.net/manual/en/function.json-last-error.php)。你的内存限制可能是一个问题,因为json_encoding做一些数据转换/复制。 – ccKep

+0

添加到@ccKep,将php.ini设置更改为display_errors = On,或者在代码的开始时添加'ini_set(“display_errors”,1);'并检查内存不足错误。 –

回答

0

试试这个: -

<?PHP 
    include_once("connection.php"); 
    $query = "select id,mosque_name,latitude,longitude from mosques;"; 
    $result = mysqli_query($conn, $query); 
    if (mysqli_num_rows($result) == 0) { 

     echo json_encode(""); 
    } 
    else{ 
     while ($row = mysqli_fetch_array($result)) { 
      /*$mosque = array(); 
      $mosque["id"] = $row["id"]; 
      $mosque["mosque_name"] = $row["mosque_name"]; 
      $mosque["latitude"] = $row["latitude"]; 
      $mosque["longitude"] = $row["longitude"];*/ 
      $fetchRow[]=$row; 
      // array_push($response["mosques"], $mosque); 
     } 
     echo json_encode($fetchRow); 
    } 
    /* $response["success"] = 1; 
    echoing JSON response 
    echo json_encode($response);*/ 
?> 

,并从网络