sql >> データベース >  >> RDS >> Mysql

MySQLの結果を2つのクエリのPHP配列に保存する

    エラーをチェックしているのか、クエリを準備しているのか、エスケープしているのかはわかりませんが、そうしてください。

    配列を生成するには、次の方法で実行できます:

        $list = [];
        $countries = $link->query("SELECT country_id, country_name FROM countries ...");
    
        while ($country_row /*fetch from $countries*/) {
    
            $country_id = $country_row['country_id']; 
    
            $country_info = [
                    'country_id' => $country_id,
                    'country_name' => $country_row['country_name'],
                    'country_cities' => []
             ];
    
            $cities_stmt = "SELECT city_id, city_name FROM cities where $country_id...";
            $cities = $link->query($cities_stmt);
    
            while ($city_row /*fetch from $cities*/) {
    
                $city_id = $city_row['city_id'];
    
                $country_info['country_cities'][$city_id] = [
                        'city_id' => $city_id,
                        'city_name' => $city_row['city_name']
                ];
            }
    
            $list[$country_id] = $country_info;
        }
    

    配列を表示するには、次の操作を実行できます。

        foreach ( $list as $country_id => $country_info ) {
    
            echo "Country ID: $country_id<br />";
            echo 'Country Name: ' . $country_info['country_name'] . '<br />';
            echo 'Country Cities:<br />';
    
            $cities = $country_info['country_cities']; 
    
            foreach ( $cities as $city_id => $city_info ) {
    
                    echo "   City ID: $city_id<br />";
                    echo '   City Name: ' . $city_info['city_name'] . '<br />';
            }
    
            echo '<br />';
        }
    

    また、国IDまたは都市IDがわかっている場合は、次のことができます。

        echo 'City Name: ' . $list[$country_id]['country_cities'][$city_id]['city_name'] . '<br />';
    


    1. 単純なパラメータ化と簡単な計画—パート2

    2. py.testが静かにハングした場合はどうすればよいですか?

    3. PostgresqlDBに接続するAndroidアプリの接続プール

    4. PHP PDOException:SQLSTATE [HY093]:無効なパラメーター番号