PHP实现获取MySQL数据库的记录数据
如果后台数据处理使用PHP来进行,那么就要有相应的数据处理及返回。
最常用的就是获取记录总数和表记录查询结果。
获取数据表的记录总数
<?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 < mysqli_num_rows($result) ) { printf ("%s %s <br>", $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 < mysqli_num_rows($result) ) { printf ("%s %s <br>", $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 < mysqli_num_rows($result) ) { printf ("%s %s <br>", $rows[$r][0], $rows[$r]['C02']); $r++; } $result->close(); $mysqli->close(); ?>
上面三段代码输出都是一样的。
到此这篇关于PHP实现获取MySQL数据库的记录数据的文章就介绍到这了,更多相关PHP获取数据库数据内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
原文出处:https://blog.csdn.net/dawn0718/article/details/122395000
相关文章
- 操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
- 本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
- 这篇文章主要介绍了MySQL性能监控软件Nagios的安装及配置教程,这里以CentOS操作系统为环境进行演示,需要的朋友可以参考下...2015-12-14
- 最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
- 这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
- 这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
Antd-vue Table组件添加Click事件,实现点击某行数据教程
这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
- 这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
- 这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
- 在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
- PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
- 新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询、修改等操作,下面就实际体验一下...2016-08-23
- C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
- 这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
- 在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
- 这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
- 通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
- 某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
深入研究mysql中的varchar和limit(容易被忽略的知识)
为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题。 ...2015-03-15