[英]how to print mysql_num_rows?
我有这样的数据库结构
并试图打印行数,但只得到1
正在使用的代码是
$sql="select Count(*) from uniqueviews where hour=13"; $result=mysql_query($sql); $ml=mysql_num_rows($result); echo $ml;
根据查询,它应该打印6但其打印1
哪里做错了?
我认为它算行吗?
行数计数后如何打印结果?
Count(*)
仅返回一行,其中包含行数。 这就是为什么您只获得1
作为返回值的原因。 如果需要实际值,可以执行以下操作:
$sql="select * from uniqueviews where hour=13";
$result=mysql_query($sql);
$ml=mysql_num_rows($result);
echo $ml;
或这个:
$sql="select COUNT(*) from uniqueviews where hour=13";
$result=mysql_query($sql);
$row = mysql_fetch_array($result, MYSQL_NUM);
$ml=$row[0];
echo $ml;
实际上,您正在打印查询返回的行数。由于要计算结果,因此应使用mysql_fetch_array来获取查询结果。
$result = select Count(*) from uniqueviews where hour=13 // $result is 6 here
and when you use mysql_count_rows($result) it returns 1 which is correct
try printing $result which should be 6
或者您可以在查询中用*替换count(*) ,它应该为您提供正确的结果
你错过了什么。
如果执行my_sql_num_rows($result)
,它将仅显示返回的总行 ,按照这种逻辑,只有一行的结果是完全正确的( count(*)
仅返回一行)。
如果您想保持这种逻辑,请不要在SQL查询中使用count
SELECT * from uniqueviews where hour = 13
或者,如果您想保留该sql查询,请更改获取结果的方式:
mysql_fetch_array($result, MYSQL_NUM);
尝试这个:
$sql = "select Count(*) AS COUNT from uniqueviews where hour=13";
$result = mysql_query($sql);
$count = mysql_fetch_object($result);
echo $count->COUNT;
"select Count(*) from uniqueviews where hour=13"
这只会返回计数,即仅返回一行。
如果您想查看查询结果,即总数
然后做这样的事情
$sql="select Count(*) from uniqueviews where hour=13";
$result=mysql_query($sql);
$ml=mysql_fetch_array($result);
echo $ml[0];
您的查询返回的行数始终为1,因为仅返回1条记录-记录中包含该选择的行数。
更换:
$sql="select Count(*) from uniqueviews where hour=13";
附:
$sql="select id from uniqueviews where hour=13";
然后使用mysql_num_rows。
但是您应该获得由count()返回的值,mysql_num_rows不适用于此类操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.