0

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

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

为了打印出来,我使用$total[0]which 返回 Array - 我如何检索数字?

4

4 回答 4

2

做这个:

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

然后你可以这样读

$total[0]["nImages"]
于 2013-08-26T23:19:20.117 回答
1

如果$connect是 mysqli 对象:

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

// $total['count']

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

于 2013-08-26T23:19:15.667 回答
0

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

于 2014-09-14T16:46:02.870 回答
0

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

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

                )

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

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

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

)

唯一需要注意的是,强烈地编程这样你就不会遇到错误,当我保存数据时,我会查看原始响应是否为数组。所以不确定这个修复是否脏。

于 2020-04-22T19:45:03.557 回答