gpt4 book ai didi

php - 使用多个 foreach 循环时多次使用 PDO 语句

转载 作者:行者123 更新时间:2023-11-30 22:21:57 24 4
gpt4 key购买 nike

我有以下代码:

if(!empty($postCountryAdd)) {
$sqlQueryLocalityAdd = $dbh->prepare("SELECT DISTINCT locality_add FROM table WHERE country_add = :country_add ORDER BY locality_add ASC");
$sqlQueryLocalityAdd->execute(array(':country_add' => $postCountryAdd));

echo '<option value="">Select locality</option>';
foreach($sqlQueryLocalityAdd as $localityAddRow) {
//while ($localityAddRow = $sqlQueryLocalityAdd->fetch()){
echo '<option value="';
echo $localityAddRow["locality_add"];
echo '">';
echo $localityAddRow["locality_add"];
echo '</option>';
}
}

如果我使用 foreach($sqlQueryLocalityAdd as $localityAddRow),代码将停止响应。为什么我不能多次使用 foreach?请问我该如何解决?

最佳答案

$sqlQueryLocalityAdd 是一个对象,在这种情况下 - 我正在展示并且 OP 已使用 - 无法迭代。 (加粗以便@deceze 可以理解)。

不过,您可以在 foreach 循环中使用 fetchAll() 来实现此目的。

您的代码应如下所示:

[...]
if($sqlQueryLocalityAdd->execute(array(':country_add' => $postCountryAdd)):
foreach($sqlQueryLocalityAdd->fetchAll() as $row):
echo $row['column'];
[...]
endforeach;
endif;
[...]

Difference between an array and an Object

关于php - 使用多个 foreach 循环时多次使用 PDO 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36428412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com