Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengekodkan Keputusan Pertanyaan MySQL dengan cekap sebagai JSON dalam PHP?

Bagaimana untuk Mengekodkan Keputusan Pertanyaan MySQL dengan cekap sebagai JSON dalam PHP?

Susan Sarandon
Lepaskan: 2024-12-18 10:40:10
asal
955 orang telah melayarinya

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

Json Encoding MySQL Result Sets

Query Execution and Retrieval

Untuk mendapatkan semula data daripada pangkalan data MySQL dan menyimpannya dalam pembolehubah PHP, anda boleh gunakan mysqli_query():

$sth = mysqli_query($conn, "SELECT ...");
Salin selepas log masuk

Pengekodan Hasil JSON

Untuk mengekod hasil pertanyaan dalam format JSON, anda boleh menggunakan fungsi json_encode(). Walau bagaimanapun, anda perlu mengulangi hasil dan mengekod setiap baris secara individu:

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

Keperluan untuk Pengekodan JSON

Perhatikan bahawa json_encode() memerlukan PHP versi 5.2 atau lebih tinggi dan pakej "php-json". Jika tidak dipasang, PHP akan cuba memasukkannya secara automatik.

Pendekatan Alternatif dengan mysqli_fetch_all()

Dalam versi PHP moden, anda boleh menggunakan fungsi mysqli_fetch_all() untuk dapatkan semula semua hasil pertanyaan dalam tatasusunan di sekali:

$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);
Salin selepas log masuk

Menggunakan mysqli_fetch_all() untuk Pengekodan JSON

Fungsi mysqli_fetch_all() boleh memudahkan proses pengekodan JSON dengan mencipta susunan baris untuk anda. Hanya hantar pembolehubah hasil kepada json_encode(), dan ia akan menukar data secara automatik ke dalam format JSON.

Atas ialah kandungan terperinci Bagaimana untuk Mengekodkan Keputusan Pertanyaan MySQL dengan cekap sebagai JSON dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan