可能重复:
Whats the best way to get total # of records in a mysql table with php?
当我跑步时:
mysql_query("SELECT COUNT(col) FROM table");
我最终得到这样的东西:
(资源)mysql结果#4
我怎样才能得到一个表示我表中行数的整数,以便稍后我可以使用它来进行简单检查,例如:$ result< 10。
非常感谢
答案 0 :(得分:6)
您有两种选择。
从计数查询返回的资源中获取结果:
$resource = mysql_query("SELECT COUNT(col) FROM table");
$count = mysql_result($resource,0);
或者,从查询返回的资源中获取行数(不计数)。
$resource = mysql_query("SELECT col FROM table WHERE col IS NOT NULL");
$count = mysql_num_rows($resource);
我建议您使用第一个,原因是当您只需要计数时,无需从表中提取所有数据。
注意我已在第二个上添加了WHERE col IS NOT NULL
,以便重新创建count(col)
而不是count(*)
的效果,因为它只计算非-null值col
。
答案 1 :(得分:3)
mysql_query
返回一个mysql资源。要获取查询输出,请使用:
$result = mysql_query("SELECT COUNT(col) FROM table");
if (!$result) {
die('Error:' . mysql_error());
}
echo mysql_result($result, 0);
点击此处查看更多示例:http://php.net/manual/en/function.mysql-query.php
修改强>
顺便说一下,这只会计算col
中具有非空值的行数。要获取表格中的总行数,请使用count(*)
答案 2 :(得分:0)
两个选项。
SELECT COUNT(*)....
执行常规查询。并在检索资源后添加此行。
$num = mysql_num_rows($resource);