繁体   English   中英

如何打印mysql_num_rows?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM