Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengekodkan Hasil Pertanyaan MySQL dengan Cekap sebagai JSON dalam PHP Menggunakan `json_encode()`?

Bagaimanakah Saya Boleh Mengekodkan Hasil Pertanyaan MySQL dengan Cekap sebagai JSON dalam PHP Menggunakan `json_encode()`?

Patricia Arquette
Patricia Arquetteasal
2024-12-18 08:21:11852semak imbas

How Can I Efficiently Encode MySQL Query Results as JSON in PHP Using `json_encode()`?

Pengekodan JSON Keputusan MySQL dengan json_encode()

json_encode() ialah fungsi berguna dalam PHP yang menukar data kepada format JSON. Untuk hasil pertanyaan MySQL, terdapat pelbagai pendekatan untuk menggunakan fungsi ini.

Adakah anda perlu mengulangi setiap baris secara manual atau bolehkah anda menggunakan json_encode() pada keseluruhan objek hasil?

Menggunakan Lelaran

Untuk versi PHP yang lebih lama, kaedah yang paling mudah adalah untuk melelaran melalui setiap baris dalam set hasil menggunakan gelung sementara. Berikut ialah contoh:

<?php
$sth = mysqli_query($conn, "SELECT ...");
$rows = array();

while ($r = mysqli_fetch_assoc($sth)) {
  $rows[] = $r;
}

print json_encode($rows);
?>

Perhatikan bahawa json_encode() menjangka tatasusunan bersekutu (pasangan nilai kunci), jadi mysqli_fetch_assoc() mengambil baris sebagai tatasusunan bersekutu.

Menggunakan mysqlill () (Moden Pendekatan)

Versi PHP moden mempunyai fungsi mysqli_fetch_all() terbina dalam yang membolehkan anda mengambil semua baris sekali gus. Ini memudahkan proses pengekodan:

<?php
$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result); // list arrays with values only in rows

// Or, for associative arrays:
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);

print json_encode($rows);
?>

Nota Tambahan

  • json_encode() memerlukan PHP versi 5.2 atau lebih baru.
  • php Pakej -json juga diperlukan.
  • Jika anda menghadapi sebarang masalah, pastikan anda mempunyai mendayakan sokongan JSON dalam konfigurasi PHP anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekodkan Hasil Pertanyaan MySQL dengan Cekap sebagai JSON dalam PHP Menggunakan `json_encode()`?. 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