PHP マニュアル
前のページ |  | 次のページ

# pg_last_notice

(PHP 4 >= 4.0.6, PHP 5)

pg_last_notice -- PostgreSQL サーバからの直近の通知メッセージを返す

## 説明

string pg_last_notice ( resource connection )

pg_last_notice() は、connection で指定した PostgreSQL サーバからの直近の通知メッセージを返します。 たとえば、テーブルに SERIAL カラムを作成する場合などに PostgreSQL サーバは通知メッセージを送信します。

pg_last_notice() でトランザクションに関連する通知 メッセージがあるかないかをチェックすることで、無意味なクエリの発行を 避けることが可能です。

警告
この関数は「実験的」なものであり、まだ完全に実装されていません。 pg_last_notice() は PHP 4.0.6 で追加されました。 しかし、PHP 4.0.6 には通知メッセージ処理の問題があります。 pg_last_notice() を使用しない場合でも PHP 4.0.6 で PostgreSQL モジュールを使用することは推奨されません。 この関数は、PHP 4.3.0 で完全に実装されました。 PHP 4.3.0 より前のバージョンでは、データベースの接続パラメータを 無視していました。

PHP 4.3.0 以降、`php.ini` で pgsql.ignore_notice に 1 を指定することで、通知メッセージの追跡をしないようにすることが 可能です。

PHP 4.3.0 以降、`php.ini` で pgsql.log_notice に 0 を指定することで、通知メッセージをログに記録しないようにすることが 可能です。pgsql.ignore_notice が 0 に設定されていない 限り、通知メッセージをログに記録することはできません。

## パラメータ

connection

  PostgreSQL データベースの接続リソース。

## 返り値

指定された connection の直近の通知を文字列で 返します。エラー時には `FALSE` を返します。

## 例

例 1. pg_last_error() の例
`<?php $pgsql_conn = pg_connect("dbname=mark host=localhost"); $res = pg_query("CREATE TABLE test (id SERIAL)"); $notice = pg_last_notice($pgsql_conn); echo $notice; ?>`
上の例の出力は以下となります。
    CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"

## 参考

pg_query()
pg_last_error()

前のページ | ホーム | 次のページ
pg_last_error | 上に戻る | pg_last_oid