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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: PHP读取数据库记录转换为JSON的代码(API接口的SQL语句)

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

  1. 1.读取一条记录,转为数组并输出JSON
include("../../db/conn.php");//数据库连接;
echo "<pre>";
//数据库读取后,直接转换为数组显示;
$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);


  1. 2.读取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);


  1. 3.读取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);

lockdatav done!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
7天前
|
SQL Java 数据库连接
数据库常用接口
ODBC(Open Database Connectivity):开放数据库互连技术为访问不同的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性,一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access,MySQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
|
8天前
|
SQL PHP 数据库
20 PHP如何捕获sql错误
路老师带你深入学习PHP,掌握技术干货。本文介绍了PDO中捕获SQL错误的三种模式:默认模式、警告模式和异常模式,以及如何使用errorCode()和errorInfo()方法进行错误处理。
28 5
|
9天前
|
API PHP 数据库
PHP中哪个框架最适合做API?
在数字化时代,API作为软件应用间通信的桥梁至关重要。本文探讨了PHP中适合API开发的主流框架,包括Laravel、Symfony、Lumen、Slim、Yii和Phalcon,分析了它们的特点和优势,帮助开发者选择合适的框架,提高开发效率、保证接口稳定性和安全性。
26 3
|
26天前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
1月前
|
SQL 关系型数据库 MySQL
创建SQL数据库的基本步骤与代码指南
在信息时代,数据管理显得尤为重要,其中数据库系统已成为信息技术架构的关键部分。而当我们谈论数据库系统时,SQL(结构化查询语言)无疑是其中最核心的工具之一。本文将详细介绍如何使用SQL创建数据库,包括编写相应的代码和必要的步骤。由于篇幅限制,本文可能无法达到您要求的2000字长度,但会尽量涵盖创建数
44 3
|
1月前
|
SQL 监控 关系型数据库
SQL错误代码1303解析与处理方法
在SQL编程和数据库管理中,遇到错误代码是常有的事,其中错误代码1303在不同数据库系统中可能代表不同的含义
|
1月前
|
SQL 安全 关系型数据库
SQL错误代码1303解析与解决方案:深入理解并应对权限问题
在数据库管理和开发过程中,遇到错误代码是常见的事情,每个错误代码都代表着一种特定的问题
|
2月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
116 0
|
3月前
|
JSON 数据格式 Java
化繁为简的魔法:Struts 2 与 JSON 联手打造超流畅数据交换体验,让应用飞起来!
【8月更文挑战第31天】在现代 Web 开发中,JSON 成为数据交换的主流格式,以其轻量、易读和易解析的特点受到青睐。Struts 2 内置对 JSON 的支持,结合 Jackson 库可便捷实现数据传输。本文通过具体示例展示了如何在 Struts 2 中进行 JSON 数据的序列化与反序列化,并结合 AJAX 技术提升 Web 应用的响应速度和用户体验。
115 0