疲倦而且变得密集。我试图围绕两个简单的数据库查询嵌套foreach
语句。
<?php
try {
$sql ="SELECT id FROM transmission WHERE person_id = 1;";
$result = $pdo->query($sql);
echo "stop <br>";
} catch (PDOException $e) {
$output = 'Error getting messages ready etc';
} //END CATCH
foreach ($result as $row) {
$id_transmission = $row['id'];
try {
echo "Start <br>";
$sql ='SELECT day FROM day_schedule WHERE :val ORDER BY FIELD(day, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");';
$s = $pdo->prepare($sql);
$s->bindValue(':val',$id_transmission);
$result2=$s->execute();
} catch (PDOException $e) {
$output = 'Error getting etc';
}
foreach ($result2 as $row){
$id_day = $row['day'];
echo "<br><BR>Day id is $id_day ";
} //END FOR EACH
} //END FOR EACH
?>
我只是想从第一个选择(1,4和9)中获取值并在第二个选择中使用它们(第一个选择将使用准备BTW)。
我总是因阵列而脑子冻结。有人可以用冷鱼打我的头部。谢谢
编辑:解决方案如果我只是将$result2=$s->execute();
替换为$s->execute();
$result2=$s;
完全符合我的要求。见下文了解更多。谢谢大家。
答案 0 :(得分:0)
改变它:
$result = $pdo->query($sql);
为:
$result = $pdo->query($sql)->fetchAll();
在result2中:
$result2=$s->execute();
为:
$s->execute();
$result2=$s->fetchAll(); //or ->fetch() if You want get one row
$s->closeCursor();
答案 1 :(得分:0)
如果我只是替换
$result2=$s->execute();
通过
$s->execute();
和
$result2=$s;
完全符合我的要求。请参阅@trzyM的评论 - 以获得更多答案。
谢谢大家。