PHP/PostgreSQLに接続する・pg_connect
の編集
Top
/
PHP
/
PostgreSQLに接続する・pg_connect
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
PostgreSQL/template0とtemplate1の違いについて
#navi(../) * PHPのpg_connect関数を使用してPostgreSQLに接続する [#ha33a09e] PHPのpg_connect関数を使用してPostgreSQLに接続するサンプルコードを以下に記します。~ 使用したOSはCentOS6, PostgreSQLのバージョンは8.4.13になります。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連資料 [#m5197b75] 以下の2つの資料は[[LINUX.JUST4FUN.BIZ>http://linux.just4fun.biz]]で公開している資料です。 -[[UbuntuでLAPP環境を構築する>http://linux.just4fun.biz/Ubuntu/LAPP%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89.html]] -[[CentOSでLAPP環境を構築する>http://linux.just4fun.biz/CentOS/CentOS%E3%81%A7LAPP%E7%92%B0%E5%A2%83%E3%82%92%E6%A7%8B%E7%AF%89.html]] - PHP: pg_connect - Manual~ http://php.net/manual/ja/function.pg-connect.php * pg_connectの接続文字列 [#x07c055e] pg_connectの接続文字列は以下のように複数指定する方法があります。~ これは、PostgreSQLの設定ファイルpg_hba.confにより必要な項目が異なってきます。 ** データベースのみ指定 [#h6a0498f] $conn = pg_connect("dbname=foo"); この場合は、pg_hba.confの設定が以下のようになっていると思います。 <snip> # "local" is for Unix domain socket connections only local all all trust <snip> PHPスクリプトを起動するユーザがPostgreSQLに登録されていれば上記の接続文字列だけで接続されます。 ** ホストとデータベースを指定 [#q7c0db91] $conn = pg_connect("host=localhost dbname=foo"); この場合は、pg_hba.confの設定が以下のようになっていると思います。~ (CIDR-ADDRESSの文字列は環境によってIPの範囲指定をする必要があります。) # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust PHPスクリプトを起動するユーザがPostgreSQLに登録されていれば上記の接続文字列だけで接続されます。~ またユーザを指定する場合は、以下のようになります。(trustになっているのでパスワードは不要) $conn = pg_connect("host=localhost dbname=foo user=bar"); ** ホスト、ユーザ、パスワードを指定する [#v3d19ec4] $conn = pg_connect("host=127.0.0.1 dbname=foo user=bar password=hoge"); この場合は、pg_hba.confの設定が以下のようになっていると思います。~ (CIDR-ADDRESSの文字列は環境によってIPの範囲指定をする必要があります。) # IPv4 local connections: host all all 127.0.0.1/32 md5 とか # IPv4 local connections: host all all 127.0.0.1/32 password ** ポートを指定したい場合 [#mf035cd8] 通常ポートの5432ではなく、他のポートに変更した場合は以下のようにportを追記します。~ (port=5432と明示的に記述しても大丈夫です。) $conn = pg_connect("host=127.0.0.1 port=12345 dbname=foo user=bar password=hoge"); ** オプションを追加したい場合 [#hcece1ef] optionsに追加したいオプション文字列を記述します。~ 例(クライアントエンコード文字コードをUTF8にする。) $dbconn = pg_connect("host=127.0.0.1 options='--client_encoding=UTF8'"); * PostgreSQLに接続するPHPサンプルコード [#gce0bf60] 以下のサンプルコードは、PostgreSQLに接続しSELECT now();を実行して終了する単純なサンプルソースです。~ PostgreSQLの接続文字列に関しては、上記のようにpg_hba.confの設定により変化します。~ サンプルスクリプトを試そうと思っている方は、接続文字列を変更しスクリプトを実行してみてください。 PostgreSQLへの接続にはユーザID、パスワードを必要とする設定になっているとしたサンプルコードとなっています。~ また、本スクリプトはコマンドラインから実行しました。 - サンプルコード #ref(pg_connect.php.zip) <?php if( !$conn = pg_connect("host=127.0.0.1 port=5432 dbname=postgres user=foo password=foo")) { print ("Connection failed.\n"); exit; } $sql = "SELECT now();"; if ( !$result = pg_query($sql)) { print ("Failed : $sql\n"); exit; } $row = pg_fetch_array($result); print $row[0] ."\n"; if (!pg_close($conn)) { print ("disconnect failed\n"); exit; } ?> - 実行結果 上記のpg_connectのサンプルコードを実行したときの出力です。 $ php pg_connect.php 2012-10-03 16:16:15.269531+09 #htmlinsertpcsp(db-btm.html,db-sp.html)
タイムスタンプを変更しない
#navi(../) * PHPのpg_connect関数を使用してPostgreSQLに接続する [#ha33a09e] PHPのpg_connect関数を使用してPostgreSQLに接続するサンプルコードを以下に記します。~ 使用したOSはCentOS6, PostgreSQLのバージョンは8.4.13になります。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連資料 [#m5197b75] 以下の2つの資料は[[LINUX.JUST4FUN.BIZ>http://linux.just4fun.biz]]で公開している資料です。 -[[UbuntuでLAPP環境を構築する>http://linux.just4fun.biz/Ubuntu/LAPP%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89.html]] -[[CentOSでLAPP環境を構築する>http://linux.just4fun.biz/CentOS/CentOS%E3%81%A7LAPP%E7%92%B0%E5%A2%83%E3%82%92%E6%A7%8B%E7%AF%89.html]] - PHP: pg_connect - Manual~ http://php.net/manual/ja/function.pg-connect.php * pg_connectの接続文字列 [#x07c055e] pg_connectの接続文字列は以下のように複数指定する方法があります。~ これは、PostgreSQLの設定ファイルpg_hba.confにより必要な項目が異なってきます。 ** データベースのみ指定 [#h6a0498f] $conn = pg_connect("dbname=foo"); この場合は、pg_hba.confの設定が以下のようになっていると思います。 <snip> # "local" is for Unix domain socket connections only local all all trust <snip> PHPスクリプトを起動するユーザがPostgreSQLに登録されていれば上記の接続文字列だけで接続されます。 ** ホストとデータベースを指定 [#q7c0db91] $conn = pg_connect("host=localhost dbname=foo"); この場合は、pg_hba.confの設定が以下のようになっていると思います。~ (CIDR-ADDRESSの文字列は環境によってIPの範囲指定をする必要があります。) # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust PHPスクリプトを起動するユーザがPostgreSQLに登録されていれば上記の接続文字列だけで接続されます。~ またユーザを指定する場合は、以下のようになります。(trustになっているのでパスワードは不要) $conn = pg_connect("host=localhost dbname=foo user=bar"); ** ホスト、ユーザ、パスワードを指定する [#v3d19ec4] $conn = pg_connect("host=127.0.0.1 dbname=foo user=bar password=hoge"); この場合は、pg_hba.confの設定が以下のようになっていると思います。~ (CIDR-ADDRESSの文字列は環境によってIPの範囲指定をする必要があります。) # IPv4 local connections: host all all 127.0.0.1/32 md5 とか # IPv4 local connections: host all all 127.0.0.1/32 password ** ポートを指定したい場合 [#mf035cd8] 通常ポートの5432ではなく、他のポートに変更した場合は以下のようにportを追記します。~ (port=5432と明示的に記述しても大丈夫です。) $conn = pg_connect("host=127.0.0.1 port=12345 dbname=foo user=bar password=hoge"); ** オプションを追加したい場合 [#hcece1ef] optionsに追加したいオプション文字列を記述します。~ 例(クライアントエンコード文字コードをUTF8にする。) $dbconn = pg_connect("host=127.0.0.1 options='--client_encoding=UTF8'"); * PostgreSQLに接続するPHPサンプルコード [#gce0bf60] 以下のサンプルコードは、PostgreSQLに接続しSELECT now();を実行して終了する単純なサンプルソースです。~ PostgreSQLの接続文字列に関しては、上記のようにpg_hba.confの設定により変化します。~ サンプルスクリプトを試そうと思っている方は、接続文字列を変更しスクリプトを実行してみてください。 PostgreSQLへの接続にはユーザID、パスワードを必要とする設定になっているとしたサンプルコードとなっています。~ また、本スクリプトはコマンドラインから実行しました。 - サンプルコード #ref(pg_connect.php.zip) <?php if( !$conn = pg_connect("host=127.0.0.1 port=5432 dbname=postgres user=foo password=foo")) { print ("Connection failed.\n"); exit; } $sql = "SELECT now();"; if ( !$result = pg_query($sql)) { print ("Failed : $sql\n"); exit; } $row = pg_fetch_array($result); print $row[0] ."\n"; if (!pg_close($conn)) { print ("disconnect failed\n"); exit; } ?> - 実行結果 上記のpg_connectのサンプルコードを実行したときの出力です。 $ php pg_connect.php 2012-10-03 16:16:15.269531+09 #htmlinsertpcsp(db-btm.html,db-sp.html)
テキスト整形のルールを表示する
添付ファイル:
pg_connect.php.zip
637件
[
詳細
]