php - SQL 打印出行两次?

标签 php mysql database web

我设置了一个数据库表,用于存储某个城市的航类信息,其中包含 Destination_ID、Destination_City、Airline、Leaving_From 和 Arriving 列。

我运行以下查询:

    $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" ;
 }

这将返回两个具有相同值的结果,除了到达的列不同之外。但是,在打印时,它会将第二行打印两次,而不是打印两行。

我不确定它为什么这样做。有人可以帮忙吗?

最佳答案

dbQuery 每次迭代都会获取一个结果集,因此您需要将 echo 代码放入 while 循环中,以便在每次迭代时打印结果。相应地修改您的代码以获得所需的结果。

关于php - SQL 打印出行两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454639/

相关文章:

PHP fwrite() 如何在特定行后插入新行

Mysql按外部值加权唯一字段

mysql - 在查询浏览器中创建数据库备份

php - 如何从 MD5 转换为任何其他哈希值?

sql - HTML5 数据库的现状如何?

javascript - 使用 select 过滤数据库

PHP Xdebug 不在 xampp 上调试

php - 使用 datagrid 、 flash 、 php 、 mysql 、 as3 显示数据库中的数据

mysql - 加入 2 个相同的表以在 MYSQL 中执行全文搜索

PHP MySQL 注册页面不工作