PHP での SQL 結合結果のあいまいな列名の解決
共通の列を共有するデータベース テーブルから結果を取得するときに、あいまいな列名が発生することがあります。名前。たとえば、データベースに「NEWS」と「USERS」という 2 つのテーブルがあるシナリオを考えてみましょう。両方のテーブルに「id」列があります。
ここで、次のクエリを実行してこれらのテーブルを結合するとします。
SELECT * FROM news JOIN users ON news.user = users.id
PHP で結果を取得するときは、次のようにするとよいでしょう。それらを連想配列に格納し、$row['column-name'] 構文を使用して列値にアクセスします。ただし、両方のテーブルに同じ列名を使用すると、あいまいさが生じます。
この問題を解決するには、AS キーワードを使用して、選択した列にエイリアスを割り当てることができます。これにより、同じ元の名前を持つ列を区別するために使用できる一意の名前を指定できます。
たとえば、クエリを次のように変更できます。
SELECT news.id AS newsId, users.id AS userId, [OTHER FIELDS HERE] FROM news JOIN users ON news.user = users.id
このクエリでは、「NEWS」テーブルの「id」列にエイリアス「newsId」を割り当て、「USERS」テーブルの「id」列に「userId」を割り当てました。これで、PHP で結果を取得するときに、$row['newsId'] を使用してニュース ID にアクセスし、$row['userId'] を使用してユーザー ID にアクセスできるようになります。
以上がSQL テーブルを結合するときに PHP で曖昧な列名を処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。