我正在尝试通过在 foreach 语句中使用以下查询来获取每个画廊中的图像数量
$total = $connect->query("SELECT COUNT(*) FROM photos WHERE gallery = '$row[id]'");
为了打印出来,我使用$total[0]
which 返回 Array - 我如何检索数字?
做这个:
$total = $connect->query("SELECT COUNT(*) as nImages FROM photos WHERE gallery = '$row[id]'");
然后你可以这样读
$total[0]["nImages"]
如果$connect
是 mysqli 对象:
$total = $connect->query("
SELECT COUNT(*) AS `count` FROM photos WHERE gallery = '$row[id]'
")->fetch_assoc();
// $total['count']
注意:使用PDO
库和param binding
防止 sql 注入。
您也可以使用 fetchColumn 而不是查询
我遇到了同样的问题,奇怪的是数组键是 COUNT(*) 文本,所以我几乎必须引用它来获得我想要的值。
[allUsers] => Array
(
[0] => Array
(
[COUNT(*)] => 606
)
)
为了访问它,我实际上必须访问数组键。
$selectResult[0]['COUNT(*)'];
Array
(
[savedInfo] => Array
(
[allUsers] => 606
)
)
唯一需要注意的是,强烈地编程这样你就不会遇到错误,当我保存数据时,我会查看原始响应是否为数组。所以不确定这个修复是否脏。