In PHP wird die Funktion json_encode() verwendet, um PHP-Daten in das JSON-Format zu konvertieren. Dies kann beim Senden von Daten an eine Webanwendung oder API nützlich sein, da JSON ein weithin unterstütztes Datenformat ist.
Aber wie verwenden wir json_encode() mit MySQL-Abfrageergebnissen? Müssen wir jede Zeile der Ergebnisse durchlaufen oder können wir es auf das gesamte Ergebnisobjekt anwenden?
<?php $mysqli = new mysqli("host", "username", "password", "database"); $result = $mysqli->query("SELECT * FROM table"); $rows = array(); while ($row = $result->fetch_assoc()) { $rows[] = $row; } $json_data = json_encode($rows); echo $json_data; ?>
In diesem Beispiel stellen wir zuerst eine Verbindung her zur MySQL-Datenbank mithilfe der Klasse mysqli. Dann führen wir eine Abfrage in der Datenbank aus und das resultierende Objekt ($result) wird in der Variablen $result gespeichert.
Wir verwenden die Methode fetch_assoc(), um die Ergebniszeilen als assoziative Arrays ($row) abzurufen. . Anschließend fügen wir jedes assoziative Array ($row) zum Array $rows hinzu.
Schließlich verwenden wir json_encode() für das Array $rows, um es in das JSON-Format zu konvertieren. Der json_data-String kann gedruckt oder auf jede beliebige Weise verwendet werden, die Sie für geeignet halten.
PHP-Versionen 5.3 und höher unterstützen mysqli_fetch_all(), was den obigen Code wie folgt vereinfacht:
<?php $mysqli = new mysqli("host", "username", "password", "database"); $result = $mysqli->query("SELECT * FROM table"); $rows = $result->fetch_all(MYSQLI_ASSOC); // get associative arrays $json_data = json_encode($rows); echo $json_data; ?>
Mit mysqli_fetch_all() können die Zeilen sein auf einmal abgerufen, was uns die Schleife erspart und das gleiche Ergebnis wie oben erzielt.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Abfrageergebnisse effizient als JSON in PHP kodieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!