COUNT返回数组?

时间:2013-08-26 23:13:20

标签: php mysql

我试图通过在foreach语句中使用以下查询来获取每个库中的图像数量

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

要打印出来,我正在使用返回数组的$total[0] - 如何检索数字?

4 个答案:

答案 0 :(得分:2)

这样做:

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

那么你可以像这样阅读

$total[0]["nImages"]

答案 1 :(得分:1)

如果$connect是mysqli对象:

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

// $total['count']

注意:使用PDO库和param binding来阻止sql注入。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我遇到了同样的问题,奇怪的是数组键是COUNT(*)文本,所以我后来不得不引用它以获得我想要的值。

[allUsers] => Array
                (
                    [0] => Array
                        (
                            [COUNT(*)] => 606
                        )

                )

为了访问它,我实际上必须访问数组键。

$selectResult[0]['COUNT(*)']; 

Array
(
    [savedInfo] => Array
        (
            [allUsers] => 606
        )

)

唯一需要注意的是,要对此进行强有力的编程,以免在我保存数据时遇到错误,我希望查看原始响应是否为数组。因此不确定此修复程序是否脏。