2013-07-05 139 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;