PHP怎么实现获取MySQL数据库的记录数据
一分耕耘,一分收获!既然打开了这篇文章《PHP怎么实现获取MySQL数据库的记录数据》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!
获取数据表的记录总数
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select count(*) from druserlist where C04='普通用户'";//查询数据表 $result = $mysqli->query($sql);//以索引的方式返回一个结果集 list($rowCount)=$result->fetch_row(); echo '记录总数:'.$rowCount; $result->close(); $mysqli->close(); ?>
也可以这样来获取:
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select count(*) from druserlist where C04='普通用户'";//查询数据表 $result = $mysqli->query($sql);//以索引的方式返回一个结果集 $row = $result->fetch_row(); echo '记录总数:'.$row[0]; $result->close(); $mysqli->close(); ?>
另外的形式:($row['total'] 换成 $row[0] 也可以)
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select count(*) as total from druserlist where C04='普通用户'";//查询数据表 $result = $mysqli->query($sql);//以索引的方式返回一个结果集 $row = $result->fetch_array(MYSQLI_BOTH); echo '记录总数:'.$row['total']; $result->close(); $mysqli->close(); ?>
查阅了PHP操作手册,类似的功能函数实在是太多了,这意味着同样的需求PHP有很多的处理手段。
获取数据库查询表的记录并返回JSON格式
<?php $sql = "select * from druserlist";//查询语句 $res = $mysqli->query($sql);//执行查询 $result = array();//准备一个空数组 while ($row = $res->fetch_assoc()){ //对结果集进行逐行取值并压入到数组中 array_push($result,$row); } echo json_encode($result);//返回前端JSON格式数据 ?>
返回的数据:
[ { "C01": "00924001", "C02": "经理办01", "C03": "1", "C04": "普通用户", "C05": "1" }, { "C01": "00924002", "C02": "经理办02", "C03": "2", "C04": "普通用户", "C05": "1" }, { "C01": "00923128", "C02": "人事科01", "C03": "1", "C04": "普通用户", "C05": "人事科的张小勇" } ]
获取数据表分页记录数据并返回JSON格式 ( 以LayUI的分页数据为例 )
<?php $page = isset($_POST['page']) ? intval($_POST['page']) : 1;//获取页数 $limit = isset($_POST['limit']) ? intval($_POST['limit']) : 10;//获取每页的显示记录数 $offset = ($page-1)*$limit;//计算起始位置 require 'linkConfig.php';//连接数据库 $sql1 = "select count(*) from druserlist"; $result1 = $mysqli->query($sql1); $rowCount = $result1->fetch_row(); $returnArr['code']=0; $returnArr['msg']=""; $returnArr['count']=$rowCount[0];//总记录数 $sql2 = "select * from druserlist order by C01 limit $offset,$limit"; $res = $mysqli->query($sql2); $result = array(); while ($row = $res->fetch_assoc()){ array_push($result,$row); } $returnArr['data']=$result; echo json_encode($returnArr);//返回JSON格式数据 $res->free(); $mysqli->close(); ?>
返回的数据:
{ "code": 0, "msg": "", "count": "12", "data": [ { "C01": "00101078", "C02": "HaoR", "C03": "2", "C04": "管理员", "C05": "1" }, { "C01": "00323007", "C02": "研究中心01", "C03": "1", "C04": "管理员", "C05": "1" }, { "C01": "00616001", "C02": "财务科01", "C03": "1", "C04": "管理员", "C05": "1" }, { "C01": "00616002", "C02": "财务科02", "C03": "1", "C04": "管理员", "C05": "1" }, { "C01": "00616003", "C02": "财务科03", "C03": "1", "C04": "管理员", "C05": "1" }, { "C01": "00923127", "C02": "admin", "C03": "1", "C04": "管理员", "C05": "系统管理员" }, { "C01": "00923128", "C02": "人事科01", "C03": "1", "C04": "普通用户", "C05": "人事科的张小勇" }, { "C01": "00923129", "C02": "人事科02", "C03": "1", "C04": "管理员", "C05": "1" } ] }
可以根据前端的分页要求返回不同的数据样式,知道了PHP的处理后面的就好办了。
PHP对mysql数据库查询结果集的处理。
⑴ fetch_array()
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select C01,C02 from druserlist where C04='普通用户'";//查询数据表 $result=$mysqli->query($sql);//以索引的方式返回一个结果集 while($row = $result->fetch_array()){ $rows[] = $row; } foreach($rows as $row){ echo $row['C01'].' '.$row['C02'].'<br>'; } $result->close(); $mysqli->close(); ?>
逐行返回的结果:
00924001 经理办01
00924002 经理办02
00923128 人事科01
返回JSON格式:
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select C01,C02 from druserlist where C04='普通用户'";//查询数据表 $result=$mysqli->query($sql);//以索引的方式返回一个结果集 while($row = $result->fetch_array()){ $rows[] = $row; } echo json_encode($rows);//返回JSON格式数据 $result->close(); $mysqli->close(); ?>
返回的结果:
[ { "0": "00924001", "1": "经理办01", "C01": "00924001", "C02": "经理办01" }, { "0": "00924002", "1": "经理办02", "C01": "00924002", "C02": "经理办02" }, { "0": "00923128", "1": "人事科01", "C01": "00923128", "C02": "人事科01" } ]
从上面的输出可以看出输出分别是数字和字段名的样式,查PHP操作手册知道,可以给定fetch_array()函数的参数来取记录值,也就是下面三种输出都是一样的。
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select C01,C02 from druserlist where C04='普通用户'";//查询数据表 $result=$mysqli->query($sql);//以索引的方式返回一个结果集 //第一种输出 while($row = mysqli_fetch_array($result, MYSQLI_NUM)){ echo $row[0].' '.$row[1].'<br>'; } //第二种输出 while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){ echo $row['C01'].' '.$row['C02'].'<br>'; } //第三种输出 while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){ echo $row[0].' '.$row['C02'].'<br>'; } $result->close(); $mysqli->close(); ?>
三种输出都是下面的结果:
00924001 经理办01
00924002 经理办02
00923128 人事科01
⑵ fetch_row()
上面的输出可以使用下面的方法来进行:
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select C01,C02 from druserlist where C04='普通用户'";//查询数据表 $result=$mysqli->query($sql);//以索引的方式返回一个结果集 while ($row = $result->fetch_row()) { printf ("%s %s <br>", $row[0], $row[1]); } $result->close(); $mysqli->close(); ?>
⑶ fetch_assoc()
上面的输出可以使用下面的方法来进行:
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select C01,C02 from druserlist where C04='普通用户'";//查询数据表 $result=$mysqli->query($sql);//以索引的方式返回一个结果集 while ($row = $result->fetch_assoc()) { printf ("%s %s <br>", $row["C01"], $row["C02"]); } $result->close(); $mysqli->close(); ?>
⑷ fetch_all()
与fetch_array类似,也有参数选择,即:MYSQLI_ASSOC、MYSQLI_NUM或者MYSQLI_BOTH,缺省是MYSQLI_BOTH。
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select C01,C02 from druserlist where C04='普通用户'";//查询数据表 $result=$mysqli->query($sql);//以索引的方式返回一个结果集 $rows=$result->fetch_all(MYSQLI_NUM); $r=0; while ( $r ", $rows[$r][0], $rows[$r][1]); $r++; } $result->close(); $mysqli->close(); ?>
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select C01,C02 from druserlist where C04='普通用户'";//查询数据表 $result=$mysqli->query($sql);//以索引的方式返回一个结果集 $rows=$result->fetch_all(MYSQLI_ASSOC); $r=0; while ( $r ", $rows[$r]['C01'], $rows[$r]['C02']); $r++; } $result->close(); $mysqli->close(); ?>
<?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select C01,C02 from druserlist where C04='普通用户'";//查询数据表 $result=$mysqli->query($sql);//以索引的方式返回一个结果集 $rows=$result->fetch_all(MYSQLI_BOTH); $r=0; while ( $r ", $rows[$r][0], $rows[$r]['C02']); $r++; } $result->close(); $mysqli->close(); ?>
上面三段代码输出都是一样的。
今天关于《PHP怎么实现获取MySQL数据库的记录数据》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

- 上一篇
- 苹果正在研究如何让“Apple Glass”自动清洁

- 下一篇
- 囤了几千个GPU,挖了deepmind前工程师!马斯克的新AI公司要和OpenAI对打
-
- 幽默的羊
- 这篇技术文章出现的刚刚好,太细致了,很棒,收藏了,关注楼主了!希望楼主能多写数据库相关的文章。
- 2023-05-08 22:10:48
-
- 俭朴的溪流
- 赞 ??,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢楼主分享博文!
- 2023-05-04 14:23:13
-
- 稳重的金针菇
- 太细致了,码起来,感谢老哥的这篇技术文章,我会继续支持!
- 2023-04-27 15:42:18
-
- 数据库 · MySQL | 6小时前 |
- MySQL数据归档方法与工具详解
- 494浏览 收藏
-
- 数据库 · MySQL | 6小时前 |
- MySQL常用命令20个必备操作指南
- 149浏览 收藏
-
- 数据库 · MySQL | 9小时前 |
- MySQL数据库详解:核心功能与优势全解析
- 236浏览 收藏
-
- 数据库 · MySQL | 15小时前 |
- MySQL基础命令详解,新手必看操作指南
- 436浏览 收藏
-
- 数据库 · MySQL | 17小时前 |
- MySQL中英文界面切换方法详解
- 366浏览 收藏
-
- 数据库 · MySQL | 18小时前 |
- MySQL数据库特点与优势详解
- 194浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL性能监控设置与核心指标解析
- 252浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL中文乱码解决方法汇总
- 119浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL增删改查语法速查表大全
- 434浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- 主键外键关系详解:MySQL关联解析
- 191浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL安装D盘配置教程
- 120浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL中WHERE与HAVING的区别详解
- 304浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 511次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 498次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 千音漫语
- 千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
- 231次使用
-
- MiniWork
- MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
- 227次使用
-
- NoCode
- NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
- 226次使用
-
- 达医智影
- 达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
- 231次使用
-
- 智慧芽Eureka
- 智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
- 254次使用
-
- MySQL主从切换的超详细步骤
- 2023-01-01 501浏览
-
- Mysql-普通索引的 change buffer
- 2023-01-25 501浏览
-
- MySQL高级进阶sql语句总结大全
- 2022-12-31 501浏览
-
- Mysql报错:message from server: * is blocked because of many
- 2023-02-24 501浏览
-
- 腾讯云大佬亲码“redis深度笔记”,不讲一句废话,全是精华
- 2023-02-22 501浏览