Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich MySQL-Abfrageergebnisse mit „json_encode()' effizient als JSON in PHP kodieren?

Wie kann ich MySQL-Abfrageergebnisse mit „json_encode()' effizient als JSON in PHP kodieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-18 08:21:11859Durchsuche

How Can I Efficiently Encode MySQL Query Results as JSON in PHP Using `json_encode()`?

JSON-Codierung von MySQL-Ergebnissen mit json_encode()

json_encode() ist eine praktische Funktion in PHP, die Daten in das JSON-Format konvertiert. Für MySQL-Abfrageergebnisse gibt es verschiedene Ansätze, diese Funktion zu verwenden.

Müssen Sie jede Zeile manuell durchlaufen oder können Sie json_encode() auf das gesamte Ergebnisobjekt anwenden?

Iteration verwenden

Für ältere PHP-Versionen besteht die einfachste Methode darin, jede Zeile im Ergebnissatz mithilfe einer While-Schleife zu durchlaufen. Hier ist ein Beispiel:

<?php
$sth = mysqli_query($conn, "SELECT ...");
$rows = array();

while ($r = mysqli_fetch_assoc($sth)) {
  $rows[] = $r;
}

print json_encode($rows);
?>

Beachten Sie, dass json_encode() assoziative Arrays (Schlüssel-Wert-Paare) erwartet, sodass mysqli_fetch_assoc() die Zeilen als assoziative Arrays abruft.

Verwendung von mysqli_fetch_all () (Modern Ansatz)

Moderne PHP-Versionen verfügen über eine integrierte mysqli_fetch_all()-Funktion, mit der Sie alle Zeilen auf einmal abrufen können. Dies vereinfacht den Kodierungsprozess:

<?php
$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result); // list arrays with values only in rows

// Or, for associative arrays:
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);

print json_encode($rows);
?>

Zusätzliche Hinweise

  • json_encode() erfordert PHP Version 5.2 oder höher.
  • Die php -json-Paket ist ebenfalls erforderlich.
  • Wenn Probleme auftreten, stellen Sie sicher, dass Sie die JSON-Unterstützung aktiviert haben in Ihrer PHP-Konfiguration.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Abfrageergebnisse mit „json_encode()' effizient als JSON in PHP kodieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn