Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengekodkan Keputusan Pertanyaan MySQL sebagai Data JSON dalam PHP?

Bagaimanakah Saya Boleh Mengekodkan Keputusan Pertanyaan MySQL sebagai Data JSON dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-23 16:01:17200semak imbas

How Can I Encode MySQL Query Results as JSON Data in PHP?

Mengekodkan Keputusan Pertanyaan MySQL sebagai Data JSON

Mendapatkan semula dan memanipulasi data daripada pangkalan data MySQL ialah tugas biasa dalam pembangunan web. Untuk mempersembahkan data ini dalam format berstruktur yang sesuai untuk komunikasi melalui Internet, pengekodan JSON (JavaScript Object Notation) sering digunakan. Fungsi json_encode() dalam PHP menyediakan cara mudah untuk menukar hasil pertanyaan MySQL kepada rentetan JSON.

Menggunakan json_encode() dengan Keputusan Pertanyaan MySQL

Untuk mengekod pertanyaan MySQL hasil sebagai data JSON, ikut langkah berikut:

  1. Tubuhkan sambungan pangkalan data: Gunakan fungsi mysqli_connect() untuk menyambung ke pangkalan data MySQL.
  2. Jalankan pertanyaan: Jalankan pertanyaan yang mengembalikan data yang dikehendaki menggunakan fungsi mysqli_query() .
  3. Dapatkan keputusan: Gunakan mysqli_fetch_assoc() berfungsi untuk mendapatkan semula setiap baris sebagai tatasusunan bersekutu.
  4. Buat tatasusunan baris: Lelaran melalui hasil, menambah setiap baris pada tatasusunan.
  5. Enkodkan tatasusunan sebagai JSON: Gunakan json_encode() fungsi untuk menukar tatasusunan baris kepada rentetan JSON.
  6. Output rentetan JSON: Gunakan fungsi cetakan untuk memaparkan atau menghantar data JSON kepada skrip atau klien lain.

Kaedah Alternatif menggunakan mysqli_fetch_all()

Dalam versi moden PHP, anda boleh menggunakan fungsi mysqli_fetch_all() untuk mendapatkan semula semua baris daripada pertanyaan sebagai tatasusunan dalam satu operasi. Ini memudahkan proses dengan menghapuskan keperluan untuk lelaran:

$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);

Nota:

  • Fungsi json_encode() memerlukan PHP versi 5.2 atau lebih baru dan pakej php-json.
  • Pengekodan aksara UTF-8 digunakan secara lalai. Untuk menentukan pengekodan yang berbeza, gunakan pilihan JSON_UNESCAPED_UNICODE dalam fungsi json_encode().

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekodkan Keputusan Pertanyaan MySQL sebagai Data JSON dalam 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