2013-08-26 75 views
0

我试图通过在foreach语句中使用下面的查询来获取每个画廊图像的数量COUNT返回数组?

$total = $connect->query("SELECT COUNT(*) FROM photos WHERE gallery = '$row[id]'");

要打印出来,然后我用$total[0]返回数组 - 我该怎么办检索号码?

+1

查询() - 函数通常会返回一个资源,不数组。不知道$ connect是什么类型的对象,我们无法知道。 – Langdi

+0

什么'回声'

'.print_r($total,true).'
';'看起来像? –

+1

Obligatory [SQL注入幽默链接](http://xkcd.com/327/)(严肃点)。 –

回答

1

这样做:

$total = $connect->query("SELECT COUNT(*) as nImages FROM photos WHERE gallery = '$row[id]'"); 

,那么你可以像阅读这样

$total[0]["nImages"] 
1

如果$connect是mysqli的对象:

$total = $connect->query(" 
    SELECT COUNT(*) AS `count` FROM photos WHERE gallery = '$row[id]' 
")->fetch_assoc(); 

// $total['count'] 

声明:使用PDO库和param binding,以防止SQL注入。

0

您也可以使用fetchColumn,而不是查询