2017-09-29 1 views
0

Ich habe eine MySQL-Datenbank von Ländern, insgesamt 250, die in eine Android-App geben wollen. Ich weiß, dass ich php dazwischen verwenden muss, um das Ergebnis in JSON zu analysieren. Das ist es:Die Hälfte der Daten bei der JSON-Konvertierung verloren?

Ich lief das Skript in meinem Browser und es zeigt korrekt, außer dass die Hälfte der Länder fehlen. Es werden nur 125 Länder angezeigt. Wo sind sie verschwunden?

+0

Warum nennst du 'mysqli_fetch_assoc' __and__' mysqli_fetch_array'? –

+0

Ich bin noch neu in PHP und nach ein paar Tests habe ich keinen Unterschied bemerkt. Das ganze Skript ist im Grunde etwas, was ich aus verschiedenen Tutorials zusammengestellt habe. Es ist wahrscheinlich nicht das Problem, oder? –

+1

Ich sehe hier keine Beziehung mit Android. –

Antwort

2

Beide Funktionen mysqli_fetch_assocundmysqli_fetch_array das Gleiche tun - sie holen nächsten Rekord.

Also, in Ihrem while Sie ersten Datensatz mit mysqli_fetch_assoc holen und dann sofort zweite Datensatz mit mysqli_fetch_array holen. So ist der erste Datensatz verloren. Und das passiert auf alle Iteration, so die Hälfte Ihrer Datensätze sind verloren.

Sie sich von mysqli_fetch_array Anruf los:

$response["Countries"] = array(); 
while ($row = mysqli_fetch_assoc($result)) { 
    array_push($response["Countries"], $row["de"]); 
} 
echo json_encode($response); 
Verwandte Themen