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

本文详细介绍了PHP连接MySQL数据库,读取数据并转换为JSON格式的方法,包括单条记录和多条记录的处理,以及如何将JSON输出为标准格式。
摘要由CSDN通过智能技术生成

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

11df1cad4c2177bd1539cbdf2804c630.png

PHP读取数据库记录转换为JSON的代码(API接口的SQL语句)

为了提供API接口,我们常常在读取数据库后,将数据转换为数组,通过json_encode转为JSON,即可满足使用需要。现将代码粘帖如下:

读取一条记录,转为数组并输出JSONinclude("../../db/conn.php");//数据库连接;

echo "

";

//数据库读取后,直接转换为数组显示;

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值