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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 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!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
3月前
|
人工智能 安全 机器人
无代码革命:10分钟打造企业专属数据库查询AI机器人
随着数字化转型加速,企业对高效智能交互解决方案的需求日益增长。阿里云AppFlow推出的AI助手产品,借助创新网页集成技术,助力企业打造专业数据库查询助手。本文详细介绍通过三步流程将AI助手转化为数据库交互工具的核心优势与操作指南,包括全场景适配、智能渲染引擎及零代码配置等三大技术突破。同时提供Web集成与企业微信集成方案,帮助企业实现便捷部署与安全管理,提升内外部用户体验。
409 12
无代码革命:10分钟打造企业专属数据库查询AI机器人
|
3月前
|
安全 druid Nacos
0 代码改造实现应用运行时数据库密码无损轮转
本文探讨了敏感数据的安全风险及降低账密泄漏风险的策略。国家颁布的《网络安全二级等保2.0标准》强调了企业数据安全的重要性。文章介绍了Nacos作为配置中心在提升数据库访问安全性方面的应用,并结合阿里云KMS、Druid连接池和Spring Cloud Alibaba社区推出的数据源动态轮转方案。该方案实现了加密配置统一托管、帐密全托管、双层权限管控等功能,将帐密切换时间从数小时优化到一秒,显著提升了安全性和效率。未来,MSE Nacos和KMS将扩展至更多组件如NoSQL、MQ等,提供一站式安全服务,助力AI时代的应用安全。
252 14
|
3月前
|
SQL 数据建模 关系型数据库
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
293 4
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
6月前
|
人工智能 前端开发 JavaScript
代码采纳率从 22% 到 33%,通义灵码辅助数据库智能编码实践
通义灵码本质上是一个AI agent,它已经进行了大量的优化。然而,为了更完美或有效地调用模型的潜在能力,我们在使用时仍需掌握一些技巧。通常,大多数人在使用通义灵码时会直接上手,这是 AI agent 的一个优势,即 zero shot 使用,无需任何上下文即可直接使用通义灵码的能力。
|
6月前
|
数据库连接 应用服务中间件 PHP
|
2月前
|
安全 Java Nacos
0代码改动实现Spring应用数据库帐密自动轮转
Nacos作为国内被广泛使用的配置中心,已经成为应用侧的基础设施产品,近年来安全问题被更多关注,这是中国国内软件行业逐渐迈向成熟的标志,也是必经之路,Nacos提供配置加密存储-运行时轮转的核心安全能力,将在应用安全领域承担更多职责。
|
6月前
|
SQL 数据库连接 Linux
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
135 16