首頁 >後端開發 >php教程 >如何使用 json_encode() 在 PHP 中有效地將 MySQL 查詢結果編碼為 JSON?

如何使用 json_encode() 在 PHP 中有效地將 MySQL 查詢結果編碼為 JSON?

Patricia Arquette
Patricia Arquette原創
2024-12-18 08:21:11948瀏覽

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

使用 json_encode() 對 MySQL 結果進行 JSON 編碼

json_encode() 是 PHP 中一個方便的函數,可將資料轉換為 JSON 格式。對於 MySQL 查詢結果,有多種方法可以使用此函數。

是否需要手動迭代每一行,或者可以對整個結果物件套用 json_encode() 嗎?

使用迭代

對於較舊的 PHP 版本,最直接的方法是使用 while 迭代結果集中的每一行 環形。以下是範例:

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

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

print json_encode($rows);
?>

請注意,json_encode() 需要關聯陣列(鍵值對),因此 mysqli_fetch_assoc() 將行作為關聯陣列取得。

使用 mysqli_fetch_all ()(現代的方法)

現代 PHP 版本有一個內建的 mysqli_fetch_all() 函數,允許您一次取得所有行。這簡化了編碼過程:

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

附加說明

  • json_encode() 需要 PHP 版本 5.2 或更高版本。
  • php -json 套件也是必需的。
  • 如果遇到任何問題,請確保您已在 PHP 配置中啟用 JSON 支援。

以上是如何使用 json_encode() 在 PHP 中有效地將 MySQL 查詢結果編碼為 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn