2013-07-05 140 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這是一個錯誤,當我複製粘貼我的code.Just編輯它。 –

回答

2

試試這個:

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

此外,您還需要使用print_r($book_count)因爲你的$book_count不是字符串。

+0

我不明白最後一條語句(使用'print_r',因爲'$ book_count'不是一個字符串)。請你詳細說明一下嗎? – Racso

+0

啊,明白了。他也迴應了可變內容;之前沒有看到。 – Racso

+0

@Racso:你使用echo作爲字符串,'$ book_count'是返回查詢結果的數組對象。回聲數組使用'print_r' – Brian

1

你的查詢函數似乎返回一個數組,而不是一個字符串。而不是echo $follower_count使用print_r($follower_count)查看查詢響應中的內容。

2

建議:如果你只使用查詢獲得計數,這可能是一個好一點:

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

你看到這個錯誤的原因是因爲你echo荷蘭國際集團Array這是由歸國你的query功能。 echo構造僅適用於字符串,請參閱此處的文檔:http://www.php.net/manual/en/function.echo.php

如果你使用print_rvar_dump那麼你就不會看到那個錯誤。正如@ A.S。羅馬和納撒尼爾格蘭諾建議使用print_r

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