主なpg関数

 ここではPostgreSQLのデータベースを操作する為の、主なpg関数についてご説明したいと思います。ここに挙げた以外のpg関数については、PHPの日本語公式ホームページをご参照下さい。

日本PHPユーザ会: http://www.php.gr.jp/

PostgreSQL接続のオープン

pg_connect

[書式] int pg_connect ( string conn_string )

[説明] コネクションを開きます。成功すると接続インデックスを返し、コネクションの生成に失敗した場合はfalseを返します。引数は引用符で括った文字列としなくてはいけません。指定できる引数には、dbname、port、host、tty、options、user、passwordがあります。この関数は、他のPostgreSQL関数を発行する際に必要な接続IDを返します。一度に複数のコネクションをオープンする事もできます。

[例] $db_con = pg_connect ( "host=localhost port=5432 dbname=myaddr" ) ;

クエリーの実行

pg_exec

[書式] int pg_exec ( int connection , string query )

[説明] 引数query で渡されたクエリーを実行します。クエリーに失敗したり、connectionが有効な接続IDでない場合はfalseを返します。引数connection が有効な値であれば、pg_errormessage( )関数によってエラーの詳細を得る事ができます。この関数の返り値はインデックス値であり、他のPostgreSQL関数から結果にアクセスする際に使われます。

実行結果の取得

pg_result

[書式] mixed pg_result ( int result_id , int row_number , mixed fieldname )

[説明] 引数row_number 及び引数fieldname は、結果のテーブルに返すセルを指定します。引数row_number は0から始まる行番号です。フィールドを名前で指定する代わりに、フィールド番号を使って引用符で括らずに指定する事もできます。フィールド番号は0から始まります。

行を配列として取得

pg_fetch_array

[書式] array pg_fetch_array ( int result , int row [ , int result_type ] )

[説明] 取得した行を保持する配列を返します。行がない場合はfalseを返します。データを結果配列の数値インデックスに保持すると共に、フィールド名をキーとしてデータを連想インデックスにも保持します。3番目の引数result_typeは定数であり、PGSQL_ASSOC、PGSQL_NUM、PGSQL_BOTHのいずれかとなります。

[例] $arr = pg_fetch_array ( $result , 0 ) ;

行を配列として取得

pg_fetch_row

[書式] array pg_fetch_row ( int result , int row )

[説明] 数字をインデックスとする配列として行を取得します。行がもうない場合にfalseを返します。

行数の取得

pg_numrows

[書式] int pg_numrows ( int result_id )

[説明] 引数result_id で指定されたPostgreSQLの結果IDにおける行数を返します。引数は、pg_exec( )で返された有効な結果IDです。この関数はエラーの際、-1を返します。

メモリの開放

pg_freeresult

[書式] int pg_freeresult ( int result_id )

[説明] これは、スクリプト実行中のメモリ使用量を抑制したい場合にのみコールします。全ての結果保持用メモリは、スクリプトが終了する際に自動的に開放されます。しかし、そのスクリプトにおいて、それ以上の結果データを必要としないのであれば、引数result_id を結果IDとしてコールする事ができます。これにより、関連するメモリは開放されます。

[注意] この関数は、下のpg_close関数同様、余り複雑でないスクリプトでは不要です。

PostgreSQL接続のクローズ

pg_close

[書式] bool pg_close ( int connection )

[説明] 引数connectionが有効なコネクションでない場合はfalseを返し、有効であればtrueを返します。

[注意] 持続的でない接続は、スクリプトの実行終了時に自動的にクローズされる為、この関数は通常必要ではありません。

 PostgreSQLとの連携 前へ

HOME

次へ 新しい関数名