(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_set_error_verbosity — pg_last_error() および pg_result_error() が返すメッセージの詳細度を指定する
pg_last_error() および pg_result_error() が返すメッセージの詳細度を指定します。
pg_set_error_verbosity() は詳細度を設定し、その接続の
これまでの設定を返します。PGSQL_ERRORS_TERSE
モードでは、返されるメッセージは深刻度・概要 および 発生位置のみです。
これはたいていの場合 1 行に収まります。デフォルトのモード
(PGSQL_ERRORS_DEFAULT
)では、それに加えて何らかの
詳細情報・ヒントあるいは状況フィールドを含みます(これらは複数行に
またがる可能性があります)。PGSQL_ERRORS_VERBOSE
モードは、有効なフィールドをすべて含みます。詳細度の設定変更内容は
それ以降に新しく作成した結果オブジェクトにのみ反映され、既存の
結果オブジェクトには影響を与えません。
connection
PgSql\Connection クラスのインスタンス。
connection
が指定されない場合は、デフォルトの接続を使います。
デフォルトの接続とは、pg_connect() または pg_pconnect() によって確立された直近の接続です。
PHP 8.1.0 以降では、デフォルトの接続を使うことは推奨されなくなりました。
verbosity
指定する詳細度。PGSQL_ERRORS_TERSE
、
PGSQL_ERRORS_DEFAULT
あるいは PGSQL_ERRORS_VERBOSE
。
変更前の詳細度レベル。PGSQL_ERRORS_TERSE
、
PGSQL_ERRORS_DEFAULT
あるいは PGSQL_ERRORS_VERBOSE
のいずれかを
返します。
バージョン | 説明 |
---|---|
8.1.0 |
connection は、PgSql\Connection クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、リソース を期待していました。
|
例1 pg_set_error_verbosity() の例
<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from doesnotexist;");
}
pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
$res1 = pg_get_result($dbconn);
echo pg_result_error($res1);
?>