2013-06-13 5 views
1

연방 지폐를 나열하는 내 사이트에서 내 페이지 전진/후진 시스템을 구축하기위한 테이블의 전체 행 수를 알아야합니다. 여기에 내 SQL 쿼리입니다.SQL을 사용하여 테이블의 행 수를 찾는 방법은 무엇입니까?

$query="SELECT COUNT (*) FROM bills"; 
$result = mysqli_query(dbcxn('bill'),$query); 
$billcount = mysqli_fetch_assoc($result); 
echo $billcount; 

dbcxn은() 내가 쓴 함수이며, 내 SQL 쿼리의 모든에 사용했습니다, 그래서 그것을 오류의 원인이 아니라는 것을 매우 확신합니다. 페이지에 표시

오류는 다음과 같다 :

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /opt/lampp/htdocs/unipartisan/includes/billvote.inc on line 76 

내가 SELECT COUNT를 사용하기로 결정하는 SQL에 대한 책을 참조하지만, 내가 기대 한 다르게 작동하는 것 같다.

+0

이 책은 휴지통이어야합니다. 나는 "SELECT COUNT (*) ..."라고 말합니다. –

+0

dbcxn은 모두 mysqli_connect()를 반환하므로 모든 입력 작업을 수행 할 필요가 없습니다. 나는 그것을 나의 모든 질문에 사용했고 그것은 문제가되지 않았다. –

답변

1

난 당신이 범위에

echo $billcount['total']; 
+0

이 답변으로도 충분합니다. "합계"에 대해 조금 더해 주셔서 감사합니다. 유용합니다. –

+0

@Unipartisandev 당신은 오신 것을 환영합니다. 제 생각에는 당신이 옳다고 생각하는 질문을 받아 들여서 질문을 끝내야합니다. – Fabio

4

변경하려면

$query = "SELECT COUNT(*) FROM bills"; // No space between COUNT & (*) 

항상있는 경우 오류를 인쇄하는 연습을해야합니다.

if (!mysqli_query(dbcxn('bill'),$query)) { 
    printf("Errormessage: %s\n", mysqli_error(dbcxn('bill'))); 
} 

@ 당으로 오류에 데이브의 의견 자세한 내용은 here 찾을 수 있습니다.

+2

그냥 터미널에서 실행했는데, 함수와 대괄호 사이에 공백이 있으면 +1 오류가 발생했습니다. –

+1

http://sql-info.de/mysql/gotchas.html#1_15 –

+0

내 문제가 해결되었습니다. COUNT와 (\ *) 사이의 공간이 깨졌습니다. 또한 echo $ billcount [ 'count (\ *)']를 변경해야했습니다. 그것은 추한 것이다. 그래서 Fabio의 대답에 대한 소품은 "총체적으로"추가되었습니다. –

0
<?php 
    $query = "SELECT * FROM YOURTABLE"; 
    $result = mysql_query($query,$yoursqlconnection) or die('query error'); 
    $row = mysql_num_rows($result); 
    echo $row; 
?> 

홉이 도움말을 인쇄 할 수 있습니다 당신은 이제 COUNT

$query="SELECT COUNT(*) as total FROM bills"; 

후 공간을 당신의 계산에게 별칭을 부여하고 제거하려고 할 수 있다고 생각

+0

이 문제는 말 그대로 모든 행의 모든 ​​열을 테이블에서 빼낸 다음 몇 개를 뽑았는지 계산하는 것입니다. COUNT (*)를 사용하면 데이터베이스의 모든 정보가 아닌 숫자 만 가져옵니다. 요점은 그것이 일을 늦추는 것입니다. –

관련 문제