在 PHP 中,json_encode() 函數用於將 PHP 資料轉換為 JSON 格式。這在向 Web 應用程式或 API 發送資料時非常有用,因為 JSON 是一種廣泛支援的資料格式。
但是我們要如何對 MySQL 查詢結果使用 json_encode() 呢?我們是否需要迭代結果的每一行,還是可以將其應用於整個結果物件?
<?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; ?>
在此範例中,我們首先連接使用 mysqli 類別連接到 MySQL 資料庫。然後,我們對資料庫執行查詢,結果物件 ($result) 儲存在 $result 變數中。
我們使用 fetch_assoc() 方法以關聯陣列 ($row) 的形式取得結果行。然後,我們將每個關聯數組 ($row) 加到 $rows 數組中。
最後,我們對 $rows 陣列使用 json_encode() 將其轉換為 JSON 格式。 json_data 字串可以以任何您認為合適的方式列印或使用。
PHP 版本5.3 及更高版本支援mysqli_fetch_all(),它簡化了上述程式碼,如下所示:
<?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; ?>
使用my🎜>使用my )可以將行一次性檢索,節省了循環並達到與上面相同的結果。
以上是如何在 PHP 中有效率地將 MySQL 查詢結果編碼為 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!