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

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

DDD
DDDasal
2024-12-23 10:32:37622semak imbas

How to Efficiently Encode MySQL Query Results into JSON using PHP?

Pengekodan JSON Keputusan Pertanyaan MySQL

Apabila bekerja dengan hasil MySQL, selalunya perlu menukarnya kepada format JSON untuk digunakan dalam aplikasi web atau konteks lain. Dalam PHP, fungsi json_encode() terbina dalam biasanya digunakan untuk tujuan ini. Mari kita terokai cara menggunakan json_encode() dengan hasil pertanyaan MySQL.

Lelaran lwn. Pengekodan Terus

Satu pendekatan ialah mengulangi setiap baris hasil pertanyaan dan memohon json_encode() ke setiap baris secara individu. Ini boleh dilakukan menggunakan gelung sementara atau foreach:

$sth = mysqli_query($conn, "SELECT ...");
$rows = [];
while($r = mysqli_fetch_assoc($sth)) {
    $rows[] = json_encode($r);
}

Kaedah ini membenarkan kawalan terperinci ke atas output JSON, tetapi ia boleh menjadi tidak cekap untuk set hasil yang besar.

Pengekodan Terus Objek Hasil

Pendekatan lain ialah mengekod secara langsung keseluruhan objek hasil, yang mengembalikan Perwakilan rentetan JSON bagi semua baris dalam satu panggilan:

$sth = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($sth, MYSQLI_ASSOC);
$json = json_encode($rows);

Menggunakan kaedah ini adalah lebih cekap untuk set hasil yang besar, kerana ia menghilangkan keperluan untuk berulang melalui setiap baris dan mengekodnya secara berasingan.

Keperluan

Untuk menggunakan json_encode() dengan hasil pertanyaan MySQL, pastikan keperluan berikut dipenuhi:

  • PHP versi 5.2 atau lebih tinggi
  • Pakej PHP-json dipasang dan dimuatkan

Pendekatan alternatif

Versi PHP moden juga menyokong fungsi mysqli_fetch_all(), yang boleh mengambil semua baris daripada set hasil ke dalam tatasusunan sekali gus. Tatasusunan ini kemudiannya boleh dikodkan terus ke dalam JSON:

$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result);
$json = json_encode($rows);

Dengan menggunakan mysqli_fetch_all(), anda boleh meningkatkan kecekapan pengekodan JSON untuk set hasil yang besar.

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

Kenyataan:
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