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

Wie kodiere ich MySQL-Abfrageergebnisse effizient als JSON in PHP?

Susan Sarandon
Susan SarandonOriginal
2024-12-18 10:40:10958Durchsuche

How to Efficiently Encode MySQL Query Results as JSON in PHP?

Json-Kodierung von MySQL-Ergebnissätzen

Abfrageausführung und -abruf

Zum Abrufen von Daten aus einer MySQL-Datenbank und deren Speicherung eine PHP-Variable, die Sie verwenden können mysqli_query():

$sth = mysqli_query($conn, "SELECT ...");

JSON-Kodierung der Ergebnisse

Um die Abfrageergebnisse im JSON-Format zu kodieren, können Sie die Funktion json_encode() verwenden. Sie müssen jedoch die Ergebnisse durchlaufen und jede Zeile einzeln codieren:

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

Anforderungen für die JSON-Codierung

Beachten Sie, dass json_encode() PHP Version 5.2 oder erfordert höher und das Paket „php-json“. Wenn es nicht installiert ist, versucht PHP, es automatisch einzubinden.

Alternativer Ansatz mit mysqli_fetch_all()

In modernen PHP-Versionen können Sie die Funktion mysqli_fetch_all() verwenden, um Alle Abfrageergebnisse in einem Array auf einmal abrufen:

$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result); // list arrays with values only in rows
// or
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC); // assoc arrays in rows

print json_encode($rows);

Verwendet mysqli_fetch_all() für die JSON-Kodierung

Die Funktion mysqli_fetch_all() kann den JSON-Kodierungsprozess vereinfachen, indem sie das Zeilenarray für Sie erstellt. Übergeben Sie einfach die Ergebnisvariable an json_encode() und die Daten werden automatisch in das JSON-Format konvertiert.

Das obige ist der detaillierte Inhalt vonWie kodiere ich MySQL-Abfrageergebnisse effizient als JSON in PHP?. 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