2009-09-04 3 views
0

내 MySQL 테이블은 간단합니다.간단한 SQL - 카운트 기능

  • 인덱스
  • URL을
  • (20 개) 레코드를 만드는 제목

: 나는 3 개 필드가 있습니다.

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"; 
} 
+2

실제 SQL 문을 게시 할 수 있습니까? –

+0

게시하시기 바랍니다 : 이

+0

로부터

SELECT COUNT (*)로부터 SQL 문을
SELECT *를 DESCRIBE, 더 테이블 설명 (테이블 사이에도 관계가 충분하지 않습니다) 우리는 당신이 괜찮나을 도와 드릴까요? – ariefbayu

답변

1

20 행이 있다는 것을 어떻게 알 수 있습니까?

이 쿼리 :이 번호를 알려줍니다으로

select * from $table 

이 같은 수의 행을 반환해야합니다 : 그것은 그렇지 않으면

select count(*) from $table` 

, 테이블은 아마 그 사이에 업데이트되었습니다.

0

비슷한 COUNT(i) 또는 뭔가를보십시오.

+3

COUNT (*)는 행 수를 계산합니다. 기간 (COUNT)은 명명 된 열에 NULL이 아닌 값이 들어있는 행의 수를 계산합니다. 문제가있을 수 있지만 원하는 내용은 원하는 것으로 남게됩니다 .. –

+0

덜 잘못 편집되었습니다. –

0

테이블에 중복 된 레코드이 있고 COUNT(*)SELECT DISTINCT에 의해 반환 된 레코드의 수를 비교해 보시겠습니까?
실제 쿼리와 결과 집합을 게시 할 때까지 볼 수있는 유일한 설명입니다 ... ("개수"와 "목록"모두에서 불일치가 발생하게했습니다)

0

"$ pages = 바닥 ($ 페이지); " 이상하게 보입니다. 그러지 마세요 : $pages = floor($pages);?

나는이게 PHP가 아닌 SQL 문제라고 생각합니다.