なんらかの奇妙な理由でこれを行う必要がある場合は、dbname
を使用しないでください DNSのパラメータ。代わりに、データベースドライバを使用して選択してください:
$dbh->query('use "newdatabase"'); // for mysql.
このように、データベース名を"
で囲むオプションがあります。 、したがって、ドライバーに関係なく名前を付けることができます 許可 。この特定のシナリオのMySQLの場合、それは"
です。 文字ですが、PostgreSQLとFirebaseで違いがあるわけではありません。
ただし、この方法は防弾ではありません。PDOライブラリがDSNを通常どおりに解析できるようにするだけです。期待しない PDOライブラリは、この異常な状況に対処するためのものです。その唯一の目的は、できるだけ多くのドライバーと対話することです。
ドライバー固有の許容値はPDOに参加しないようにする必要があるため、実際にドライバーにこれを依頼する必要があります。これにより、クエリの実行に失敗したかどうかを確認することもできます。