Rumah >pembangunan bahagian belakang >masalah PHP >php如何读取数据库转json数据

php如何读取数据库转json数据

藏色散人
藏色散人asal
2020-08-12 09:08:523880semak imbas

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

Atas ialah kandungan terperinci php如何读取数据库转json数据. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php如何实现修改图片大小Artikel seterusnya:php如何防止报错