首頁 >後端開發 >PHP問題 >php如何讀取資料庫轉json數據

php如何讀取資料庫轉json數據

藏色散人
藏色散人原創
2020-08-12 09:08:523880瀏覽

php讀取資料庫轉json資料的實作方法:先連接資料庫並讀取資料庫;然後在資料庫讀取後,直接將資料轉換為陣列顯示;最後透過「json_encode」轉為JSON即可。

php如何讀取資料庫轉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[&#39;fromstore&#39;];
$alter->fromsaler = $row[&#39;fromsaler&#39;];
$alter->salenum = $row[&#39;salenum&#39;];
$alter->totalprice = $row[&#39;totalprice&#39;];
$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(&#39;[&#39;, &#39;{&#39;, json_encode($res));
//$res = str_replace(&#39;]&#39;, &#39;}&#39;, $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(&#39;[&#39;, &#39;{&#39;, json_encode($rows));
$rows = str_replace(&#39;]&#39;, &#39;}&#39;, $rows);
echo json_encode($rows);

以上是php如何讀取資料庫轉json數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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