2013-07-05 4 views
0

내가 내 테이블의 행 수를 계산하려면 다음을 사용하고 반환PHP 카운트 행은 오류

$book_count = query("SELECT status FROM scifi_book WHERE read = $uid"); 
(count($book_count)); 
echo $book_count; 

와 나는 다음과 같은 오류 얻을 :

Notice: Array to string conversion on line 167 

(라인입니다 echo $book_count;)

FIY, query 함수가 정의되어 잘 작동합니다. 삽입, 선택, 업데이트 및 삭제에 문제가 없었습니다.

여기에 뭔가가 있습니까?

+0

'query()'는 무엇을 반환합니까? 그리고 당신의 질문에서'follower_count'는 어디에서 왔습니까? – andrewsi

+0

@andrewsi 내 코드를 붙여 넣을 때 실수였습니다. 바로 편집했습니다. –

답변

2

이 시도 : 문자열을 사용하면 $book_count 이후 print_r($book_count)를 사용해야합니다, 또한

$book_count = query("SELECT status FROM scifi_book WHERE read = $uid"); 
echo count($book_count); 

을하지 않습니다.

+0

마지막 문장을 이해하지 못합니다 ('$ book_count'가 문자열이 아니기 때문에'print_r'을 사용하십시오). 정교하게 제발, 제발? – Racso

+0

아, 알겠습니다. 그는 또한 가변 내용을 울립니다. 전에는 그것을 보지 못했습니다. – Racso

+0

@Racso : 문자열에 echo를 사용하고,'$ book_count'는 질의 결과를 반환하는 배열 객체입니다. 배열을 에코하려면'print_r'을 사용하십시오. – Brian

1

쿼리 함수가 문자열이 아닌 배열을 반환하는 것처럼 보입니다. echo $follower_count 대신 print_r($follower_count)을 사용하여 쿼리 응답 내부 내용을 확인하십시오.

2

제안 : 당신이 echo가에 의해 반환되는 Array을 보내고 있기 때문에

$book_count = query("SELECT count(*) FROM scifi_book WHERE read = $uid"); 
1

당신이 오류가 표시되는 이유는 : 당신은 단지 수를 얻기 위해 해당 쿼리를 사용하는 경우,이 조금 더있을 수 있습니다 귀하의 query 기능. echo 구문은 문자열에서만 작동합니다. http://www.php.net/manual/en/function.echo.php 설명서를 참조하십시오.

print_r 또는 var_dump을 사용했다면 오류가 발생하지 않았을 것입니다. 그래서 @ A.S. Roma와 Nathaniel Granor의 사용을 제안합니다. print_r

1
$book_count = query("SELECT status FROM scifi_book WHERE read =".$uid); 
(count($book_count)); 
echo $book_count;