我有一个数据库表,用于存储城市的航班信息,包括Destination_ID,Destinatination_City,Airline,Leaving_From和Arriving。SQL打印出两行?
我运行以下查询:
$name = $_GET['name'];
$dbQuery = $db->prepare("SELECT * FROM DESTINATIONS
WHERE destination_City = '$name' ");
$dbQuery->execute();
$airlines= array();
while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)){
$Airlines[] = $dbRow['Airline']; }
foreach($Airlines as $Airline)
{
$dbQuery = $db->prepare("SELECT * FROM DESTINATIONS
WHERE Airline = '$Airline' AND Destination_City = '$name' ");
$dbQuery->execute();
while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)){
$Arriving = $dbRow ['Arriving'];
$Leaving_From = $dbRow ['Leaving_From'] ; }
echo "$Leaving_From to $Arriving" ;
}
此返回两个结果与除了到达的列是不同的值相同。但是,在打印时,打印第二行两次而不是打印两行。
我不知道它为什么这样做。谁能帮忙?
你需要在'while'中放置'echo'。正如当前写入的,变量被最后一次检索到的行覆盖 – kero 2015-02-11 12:42:42
@kingkero刚刚尝试过这种方式,现在它打印第1行两次,第2行打印两次? – OUDK 2015-02-11 12:47:32
你有任何其他的代码包含/调用张贴的行吗? – kero 2015-02-11 12:48:52