在PHP循环中使用两个或多个SQL查询语句

时间:2014-06-02 04:33:46

标签: php mysql sql pdo

$query_country = "select abbr,full_name from Country";
$result_country = $db->query($query_country);//this is the first SQL

foreach ( $result_country as $row ){
    echo '<optgroup label="' . $row['full_name'] . '">';
    $abbr = $row['abbr'];

    $query_airport = "select location from Airport where country_abbr = $abbr ";
    $result_airport = $db_other->query($query_airport);//this is the second SQL
    foreach ( $result_airport as $row_prime ){
        echo '<option>'.$row_prime['location'].'</option>';
        }
    echo '</optgroup>';
}

如上所示,第二个SQL不起作用。

我尝试在&#39; config.php&#39;中尝试新建一个PDO变量($ db_other)文件,但它仍然无法正常工作。

我的问题是如何在PHP循环中使用第二个SQL。

我之所以这样做,是因为我需要按照国家/地区名称制作一个选择表组。

1 个答案:

答案 0 :(得分:0)

尝试引用您的查询变量,并使用db object $db来运行查询

$query_airport = "select location from Airport where country_abbr = '$abbr' ";
$result_airport = $db->query($query_airport);

同时检查$abbr是否有值,因此代码如下: -

if(!empty($abbr)) {
   $query_airport = "select location from Airport where country_abbr = '$abbr' ";
    $result_airport = $db->query($query_airport);
    foreach ( $result_airport as $row_prime ){
        echo '<option>'.$row_prime['location'].'</option>';
        }
}