Heim > Datenbank > MySQL-Tutorial > Wie kann ich MySQL-Abfrageergebnisse effizient als JSON in PHP kodieren?

Wie kann ich MySQL-Abfrageergebnisse effizient als JSON in PHP kodieren?

Susan Sarandon
Freigeben: 2024-12-23 19:23:14
Original
481 Leute haben es durchsucht

How Can I Efficiently Encode MySQL Query Results as JSON in PHP?

JSON-Codierung von MySQL-Ergebnissen mit PHP

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?

Verwendung von json_encode() mit MySQLi

<?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;
?>
Nach dem Login kopieren

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.

Verwendung von mysqli_fetch_all()

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;
?>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage