php pdoで別のスキーマに接続(postgres)

2011/06/09

PDOでPostgreSQLに接続しているんだけど、別のスキーマに接続したい。
よく「$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);」みたいな感じで接続はあるんだけど、スキーマの指定がないんだよね。

スキーマを指定する

スキーマを指定して接続ではなく、クエリ側で指定する。

select * FROM [テーブル名]."[スキーマ名]"

例)テーブル名「table」、スキーマ名「schema」とする
select * FROM table."schema"
※スキーマ名には「""」をつける。テーブル名につけても無問題。

メモ

PHP Unitってヤツを使えば良いようなことが書いているんだけど…ちゃんと読む必要があるっぽい。
ちゃんと読んで理解できるかすら不明ではあるんだけどね。

あれこれ調べていても他には方法もなく、だからといって、PHP Unitは面倒そうだし…ってことで「pgAdminIII」でどういう感じのselect文を作ってくれるかを試してみた。試してみた結果は上述のような感じ。

MySQLだとテーブルにしても「`」でくくれば良いんだけど「PostgreSQL」は「"」にしなくちゃいけないっぽい。

新着(ニュース関連以外)

2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい
2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。