PHP および PostgreSQL での「関係が存在しません」エラーの解決
PHP から PostgreSQL データベースにクエリを実行するときに、恐ろしい「リレーションが存在しません」エラーが発生するのはよくある問題です。このガイドでは、このハードルを克服するのに役立つソリューションを提供します。
まず、大文字と小文字の区別も含め、テーブル名が正確であることを再確認してください。 PostgreSQL では大文字と小文字が区別されます。わずかなスペルミスでもエラーが発生します。 大文字と小文字を混合したテーブル名またはスペースを二重引用符で囲みます。
たとえば、「SF_Bands」という名前のテーブルの場合、次を使用します。
<code class="language-sql">SELECT * FROM "SF_Bands" LIMIT 10;</code>
もう 1 つのアプローチには、PostgreSQL スキーマ検索パスの変更が含まれます。これにより、スキーマを明示的に指定せずにテーブルを参照できるようになります。 PHP コードでは、以下を使用します:
<code class="language-php">$dbconn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $dbconn->exec("SET search_path TO showfinder,public");</code>
検索パスを設定した後、次のように簡単に「sf_bands」テーブルをクエリできます。
<code class="language-php">$result = $dbconn->query('SELECT * FROM sf_bands LIMIT 10');</code>
これらのメソッドを実装すると、「関係が存在しません」エラーを効率的に解決し、PHP アプリケーション内で PostgreSQL クエリを正常に実行できます。
以上がPHP を使用して PostgreSQL の「関係が存在しません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。