php讀取資料庫轉json資料的實作方法:先連接資料庫並讀取資料庫;然後在資料庫讀取後,直接將資料轉換為陣列顯示;最後透過「json_encode」轉為JSON即可。
推薦:《PHP影片教學》
PHP讀取資料庫記錄轉換為JSON的程式碼(API介面的SQL語句)
為了提供API接口,我們常常在讀取資料庫後,將資料轉換為數組,透過json_encode轉為JSON,即可滿足使用需求。現將程式碼黏貼如下:
讀取一筆記錄,轉為陣列並輸出JSON
include("../../db/conn.php");//数据库连接; echo "<pre class="brush:php;toolbar:false">"; //数据库读取后,直接转换为数组显示; $sql = "select salesid,fromstore,fromsaler,salestime,salenum,totalprice from midea_sales WHERE salesid=44"; $results = mysqli_query($con, $sql); $rows = mysqli_fetch_assoc($results); foreach ($rows as $key => $v) { $res[$key] = $v; } echo json_encode($res);
讀取N筆記錄,轉為多維數組並輸出JSON(第一種寫法)
//数据库读取后,直接转换为数组显示; $sql = "select salesid,fromstore,fromsaler,salestime,salenum,totalprice from midea_sales"; $results = mysqli_query($con, $sql); $data = array();//初始化数组; class Alteration { public $fromstore; public $fromsaler; public $salenum; public $totalprice; } while ($row = mysqli_fetch_assoc($results)) { $alter = new Alteration();//实例化对象; $alter->fromstore = $row['fromstore']; $alter->fromsaler = $row['fromsaler']; $alter->salenum = $row['salenum']; $alter->totalprice = $row['totalprice']; $data[] = $alter; } echo json_encode($data);
讀取N筆記錄,轉為多維數組並輸出JSON(第二種寫法)
$sql = "select salesid,fromstore,fromsaler,salestime,salenum,totalprice from midea_sales"; $results = mysqli_query($con, $sql); while ($rows = mysqli_fetch_assoc($results)) { $res[] = $rows; } //$res = str_replace('[', '{', json_encode($res)); //$res = str_replace(']', '}', $res); print_r($res);
4.讀取N筆記錄,轉為多維數組並輸出JSON(第三種寫法),適合取得全部記錄
$sql = "select salesid,fromstore,fromsaler,salestime,salenum,totalprice from midea_sales"; $results = mysqli_query($con, $sql); $rows = mysqli_fetch_all($results); print_r($rows);
在轉換的過程中,JSON格式會出現[]和{}兩種格式的JSON,而實際應用中對{}的介面是標準介面。如何轉換呢?
原因在於:當array是一個從0開始的連續數組時,json_encode出來的結果是一個由[]括起來的字串;而當array是不從0開始或不連續的數組時,json_encode出來的結果是一個由{}括起來的key-value模式的字串。
$sql = "select salesid,fromstore,fromsaler,salestime,salenum,totalprice from midea_sales"; $results = mysqli_query($con, $sql); $rows = mysqli_fetch_all($results); $rows = str_replace('[', '{', json_encode($rows)); $rows = str_replace(']', '}', $rows); echo json_encode($rows);
以上是php如何讀取資料庫轉json數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!