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 中有效地將 MySQL 查詢結果編碼為 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!