Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengekodkan Keputusan Pertanyaan MySQL dengan Cekap sebagai JSON dalam PHP?
Dalam PHP, fungsi json_encode() digunakan untuk menukar data PHP kepada format JSON. Ini boleh berguna apabila menghantar data ke aplikasi web atau API, kerana JSON ialah format data yang disokong secara meluas.
Tetapi bagaimanakah kita menggunakan json_encode() dengan hasil pertanyaan MySQL? Adakah kita perlu mengulangi setiap baris hasil atau bolehkah kita menggunakannya pada keseluruhan objek hasil?
<?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; ?>
Dalam contoh ini, kita mula-mula menyambung ke pangkalan data MySQL menggunakan kelas mysqli. Kemudian, kami melaksanakan pertanyaan pada pangkalan data dan objek yang terhasil ($result) disimpan dalam pembolehubah $result.
Kami menggunakan kaedah fetch_assoc() untuk mengambil baris hasil sebagai tatasusunan bersekutu ($row) . Kami kemudian menambah setiap tatasusunan bersekutu ($row) pada tatasusunan $rows.
Akhir sekali, kami menggunakan json_encode() pada tatasusunan $rows untuk menukarnya kepada format JSON. Rentetan json_data boleh dicetak atau digunakan dalam apa jua cara yang anda lihat sesuai.
PHP versi 5.3 dan ke atas menyokong mysqli_fetch_all() yang memudahkan kod di atas seperti berikut:
<?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; ?>
Dengan mysqli_fetch_all() baris boleh diambil sekali gus, menjimatkan gelung kami dan mencapai hasil yang sama seperti di atas.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekodkan Keputusan Pertanyaan MySQL dengan Cekap sebagai JSON dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!