2017-07-15 3 views
0

Die von mir erstellte PHP-Datei ruft Daten aus einer MySQL-Datenbank ab und wandelt sie in eine JSON-Datei um, die dann widergegeben wird. Ich hatte 300 Datensätze und das PHP konnte das JSON anzeigen und war sichtbar, wenn es angezeigt wurde.PHP JSON zeigt kein MySQL-Ergebnis an

Ich habe jedoch weitere 100 Datensätze zu derselben Tabelle hinzugefügt und aus irgendeinem Grund wird der JSON nicht angezeigt. Es erscheint nur leer ohne Fehler. Aber wenn ich die 100 Datensätze entferne, wird der JSON normal angezeigt.

Ich habe die PHP-Datei während dieser nicht berührt. Was könnte der Grund sein?

<?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

Könnte ein Bündel von Gründen. Vielleicht gibt es in den neuen Daten einen Apostroph. – Strawberry

+0

Sie könnten [json_last_error] (http://php.net/manual/en/function.json-last-error.php) überprüfen. Ihr Speicherlimit ist möglicherweise ein Problem, da json_encoding einige Daten konvertiert/kopiert. – ccKep

+0

Wenn Sie @ccKep hinzufügen, ändern Sie Ihre php.ini-Einstellungen in display_errors = On, oder am Anfang des Codes, fügen Sie 'ini_set (" display_errors ", 1);' hinzu und prüfen Sie, ob nicht genügend Speicher vorhanden ist. –

Antwort

0

Try This: -

<?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);*/ 
?> 

und überprüfen Sie Ihr Ergebnis von Netzwerk