トップ  »  コンピュータガイド  »  開発言語・スクリプト  »  PHP  »  PostgreSQLのデータを取得してHTML表示する(前編)

PostgreSQLのデータを取得してHTML表示する(前編)

概要

PHPからPostgreSQLへ接続してデータ参照する為の基本的な関数の紹介とそれらの使用方法を解説します。
少しボリュームが大きくなってしまったので前後半にページを分けました。
前編では、データを取得する為に必要なPostgreSQL関数の紹介します。
後編では、前編で紹介した関数を使って実際にデータの取得から画面表示までの手順を解説します。

あくまでデータ参照に関しての基礎なので、マルチバイト文字の取扱やエラー制御、その他の機能は割愛しています。
予めご了承ください。

基本的な関数

PHPからPostgreSQLへ接続してデータを参照する為の基本的な関数を以下に挙げておきます。
基本的にはPHPの公式マニュアルに準拠する形になっていますので、これら以外の関数についてなど、より詳しい情報が必要な方はPHPの公式マニュアルをご覧ください。

pg_connect( string connection_string [, int connect_type] )

"connection_string"で指定された情報に従ってPostgreSQLへの接続を開始します。
成功した場合にPostgreSQLの接続リソース、失敗した場合にFALSEを返します。
パラメータとして指定できるのは以下の通りです。

host
接続先のホスト名を指定します。
hostaddr
接続先ホストの IP アドレスを指定します。
port
サーバホストの接続用ポート番号、または、Unixドメイン接続の場合は、ソケットファイルの拡張子を指定します。
dbname
接続先のデータベース名を指定します。
user
接続に使用するユーザ名を指定します。
password
パスワード認証が有効な場合、上記ユーザに対するパスワードを指定します。
connect_timeout
接続処理に対する制限時間を秒数で指定します。(ゼロ、または設定なしの場合は無制限)
options
サーバに送る、トレース / デバッグオプションを指定します。
sslmode
サーバとの接続に用いるSSL接続の優先度を指定します。
service
pg_service.conf内の追加的な接続パラメータに対するサービス名を指定します。

指定したパラメータが有効かどうかはPostgreSQLのバージョンによって変わってきます。
お使いのPostgreSQLのバージョンに合わせてご指定ください。
また、"tty"、及び"requiressl"は非推奨の為、割愛しました。

pg_query( resource connection, string query )

"connection"に指定した接続リソース上で"query"で指定されたSQL文を実行します。
成功した場合にクエリ結果リソース、失敗した場合にFALSEを返します。

"connection"が指定されていない場合はデフォルト値として直近の"pg_connect()"あるいは "pg_pconnect()"によって作成された接続リソースが使用されますが、推奨されません。

pg_field_name( resource result, int field_number )

"result"で与えられた結果リソースから"field_number"で指定したフィールド番号にあるフィールドの名前を返します。
"result"には"pg_query()"等で返されるクエリ結果リソースを指定します。
フィールド番号は0(ゼロ)から始まります。
エラーが発生した場合にはFALSEを返します。

pg_num_fields( resource result )

"result"で与えられた結果リソースからフィールド(カラム)の数を返します。
"result"には"pg_query()"等で返されるクエリ結果リソースを指定します。
エラーが発生した場合には-1を返します。

pg_num_rows( resource result )

"result"で与えられた結果リソースから結果行数を返します。
"result"には"pg_query()"等で返されるクエリ結果リソースを指定します。
エラーが発生した場合には-1を返します。

pg_fetch_all( resource result )

"result"で与えられた結果リソースのすべての行 (レコード)をフィールド名を添字とするフィールド値の配列として返します。
"result"には"pg_query()"等で返されるクエリ結果リソースを指定します。
結果行数が0(ゼロ)またはエラーが発生した場合にはFALSEを返します。

pg_fetch_result( resource result, int row, mixed field )

"result"で与えられた結果リソースから"row"で指定された行と"field"で指定されたフィールド(カラム)の値を返します。
"result"には"pg_query()"等で返されるクエリ結果リソースを指定します。
"row"には"0"から始まる行番号を指定します。指定しなかった場合には次の行を返します。
"field"には取得するフィールド(カラム)の名前を表す文字列、または取得するフィールドの先頭を"0"とした番号を指定します。
"row"で指定した数字が結果の行数より大きい場合や行が存在しない場合、またはエラーが発生した場合にはFALSEを返します。

pg_fetch_row( resource result [, int row] )

"result"で与えられた結果リソースから 1 行分のデータを個々の値を文字列として格納した配列として返します。
配列の添字は"0"から始まり、データベースのNULL値は"NULL"として返します。
"result"には"pg_query()"等で返されるクエリ結果リソースを指定します。
"row"で指定した数字が結果の行数より大きい場合や行が存在しない場合、またはエラーが発生した場合にはFALSEを返します。

PHP 4.1.0 以降、"row"はオプションとなりました。
取得する行は"0"から始まり、指定されなかった場合には次の行が取得されます。

pg_close( [resource connection] )

"connection"に指定した接続リソースによるPostgreSQLデータベースへの持続的ではない接続を閉じます。

"pg_close()"は"pg_pconnect()"によりオープンされた持続的接続は閉じません。

トラックバック(0)

トラックバックURL: http://www.ezms.net/mt/mt-tb.cgi/29