做一些数据库查询,不仅希望得到要查询的结果,还希望方便地计算一下查询结果中有多少条记录。我通常的做法是:
$q = "select * from $fromTable where $where limit $start,$pageSize"
$r = mysql_query($q)
$q = "select count(*) from $fromTable where $where"
$cnt = mysql_query($q)
当 然可以用mysql_num_rows()或者mysql_affected_rows()来在第一次查询后得到记录数目,但是这两个函数返回的都是查询 后得到的结果的数目,是受limit语句的影响的。很多情况下,需要知道这条查询语句在没有limit的情况下结果总数,比如分页查询。
mysql 中本身支持一种更好的方法来达到上面的效果,那就是使用SQL_CALC_FOUND_ROWS和FOUND_ROWS()函数。
php使用mysql查询数据库已经有多少条数据使用sql的count函数实现。示例代码如下:
<?php
//数据库连接
$conn=mysql_connect("localhost","root","root")
if(!$conn){
die("对不起,数据库连接失败! ").mysql_errno()
}
//选择数据库
mysql_select_db("testdb")
//sql语句
$sql="SELECT COUNT(*) AS count FROM user"
//执行sql
$query=mysql_query($sql,$conn)
//对结果进行判断
if(mysql_num_rows( $query)){
$rs=mysql_fetch_array($query)
//统计结果
$count=$rs[0]
}else{
$count=0
}
echo $count
?>
返回的$count就是当前数据库的记录条数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)