Mysql计算表中的行并返回一个整数

时间:2012-01-26 07:58:16

标签: php mysql count

  

可能重复:
  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。

非常感谢

3 个答案:

答案 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)

两个选项。

  1. SELECT COUNT(*)....

  2. 执行常规查询。并在检索资源后添加此行。

    $num = mysql_num_rows($resource);