我的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";
}
答案 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。