php查询数据总数 php查询数据表

PHP查询mysql的时候用了like和LIMIT分页,如何获得未分页但是like了的总数据量

第一、phpmyadmin 的查询结果显示了分页数据、总条数信息及索引信息,看似只执行了一次查询,实际上是做了多次查询的,只是页面中没显示出来,但是查看 mysql 的运行日志就会发现,其实已经执行了很多条 sql 语句,因为 phpmyadmin 的操作基本都是批量执行增删改查的;

创新互联-专业网站定制、快速模板网站建设、高性价比常山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式常山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖常山地区。费用合理售后完善,十多年实体公司更值得信赖。

第二、有一种方式可以实现只查询一次就能达到分页的效果,但实际上这种方式是不推荐的,性能比查询两次(一次查总数,一次查分页数据)低了很多,尤其在数据量越大的时候差异越明显;

一次查询的思路是:一次性把满足条件的数据全都查出来,然后再从结果中去取实际分页中要显示的那部分数据;例如,根据标题搜索数据,每页显示20条,一次性总共查出来 1000 条数据,显示第一页的时候就只获取前面的20条,第二页就取第21-40条,第三页就只取41-60条,后面的依次类推。

可想而知,这种查询是很浪费的,我明明只要那一部分数据,却查出了所有的,剩下那部分就根本没用。尤其在数据量大的时候,上万条百万条等等,性能就更差了,如果再加上高并发,那基本就要崩溃了。

所以做分页一般都是查两次比查一次好得多

如何用PHP统计mysql数据表里指定字段的内容的总数

mysql_connect("localhost","root","123456") or

die("打开数据库服务器失败!"); //连接数据库

mysql_select_db("a") or

die("打开数据库a失败!"); //打开数据库,a为数据库名

$sql = "select id from b"; //id为字段名,b为表名

$result=mysql_query($sql);

if(mysql_query($sql)) //判断$sql语句是否执行

{

$num=mysql_num_rows($result); //取得包含id字段记录的行数

echo "一共有".$num."个id"; }思想就是:根据含有ID的记录(数据库里一行内容称为一条记录)条数来确定ID的个数

PHP怎样查询数据库同名的数据有多少个

显示数据库db中表tab上字段user的重复数量的查询语句为:

$sql='select user,count(*) from db.tab group by 1';

用mysql_query、mysql_fetch_array循环就可以显示所有重复值的统计

如果只查user为'xxx'有多少,查询语句为:

$sql="select count(*) from db.tab where user='xxx'";


当前名称:php查询数据总数 php查询数据表
当前地址:http://hbruida.cn/article/dosppcs.html