Heim >Backend-Entwicklung >PHP-Problem >So lesen Sie eine Datenbank und konvertieren JSON-Daten in PHP

So lesen Sie eine Datenbank und konvertieren JSON-Daten in PHP

藏色散人
藏色散人Original
2020-08-12 09:08:523873Durchsuche

php读取数据库转json数据的实现方法:首先连接数据库并读取数据库;然后在数据库读取后,直接将数据转换为数组显示;最后通过“json_encode”转为JSON即可。

So lesen Sie eine Datenbank und konvertieren JSON-Daten in PHP

推荐:《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);

Das obige ist der detaillierte Inhalt vonSo lesen Sie eine Datenbank und konvertieren JSON-Daten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn