简单的SQL - 计数功能

时间:2009-09-04 22:40:16

标签: sql mysql count

我的MySQL表很简单。我有3个字段:

  • 索引
  • 一个网址
  • 标题

制作了20条记录。

我正在尝试计算行数,以便我可以使用PHP进行分页。但是count(*)返回的行数多于那里的行数,总共142行。我得到了与索引相同的结果。

我错过了什么?

修改

对于以前缺乏信息感到抱歉,坦率地说,我对这一切感到尴尬,感到非常愚蠢。但是这里有。

Field: i, int(11), PRI, NOT NULL, auto_increment
Field: url, text
Field: title, mediumtext

sql:

select count(*) from $table

php:

require_once('highlights_db.php');

$query = "select count(*) from highlights";

$connection = mysql_connect($host, $user, $pass);
mysql_select_db($db);
$result = mysql_query($query, $connection);
$pages = mysql_fetch_array($result);
$pages = floor($pages);

for($i = 0; $i < $pages; $i++){
    echo "<a href=\"\" class=\"page_dot\"></a><br />\n";   
}

4 个答案:

答案 0 :(得分:1)

你怎么知道有20行?

此查询:

select * from $table

应该返回与此数字告诉您相同的行数:

select count(*) from $table`

如果没有,那么您的表可能已经更新了。

答案 1 :(得分:0)

尝试COUNT(i)或类似的东西。

答案 2 :(得分:0)

您的表中是否恰好有重复记录,并将COUNT(*)与某种SELECT DISTINCT返回的记录数进行比较? 这是我发布的唯一解释,直到您发布实际查询及其结果集...(“计数”和“列表”都会让您看到差异)

答案 3 :(得分:0)

“$ pages = floor($ pages);”看起来很奇怪。不应该是:$pages = floor($pages);

我估计这是一个PHP问题,而不是SQL。