Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengekodkan Keputusan Pertanyaan MySQL dengan cekap ke dalam JSON menggunakan 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:
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!