pg_last_error

特定の接続から直近のエラーメッセージ文字列を取得する

説明

string pg_last_error(PgSql\Connectionnull $connection = null)

pg_last_error は、指定した connection から直近のエラーメッセージを返します。

エラーメッセージは、内部的な PostgreSQL(libpq) 関数コールにより 上書きされる可能性があります。PostgreSQL モジュール関数の中で複数の エラーが発生した場合には、この関数は適切なエラーメッセージを返さない 可能性があります。

エラー処理を改善するために pg_result_errorpg_result_error_fieldpg_result_status および pg_connection_status を使用ください。

注意:

この関数は、以前は pg_errormessage と呼ばれていました。

パラメータ

connection

PgSql\Connection クラスのインスタンス。 connectionnull, の場合、デフォルトの接続を使います。 デフォルトの接続とは、pg_connect または pg_pconnect によって確立された直近の接続です。

警告

PHP 8.1.0 以降では、デフォルトの接続を使うことは推奨されなくなりました。

戻り値

指定した connection の直近のエラーメッセージを 含む文字列を返します。

変更履歴

バージョン 説明
8.1.0 connection は、PgSql\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。
8.0.0 connection は、nullable になりました。

例1 pg_last_error の例

<?php
  $dbconn = pg_connect("dbname=publisher") or die("接続できませんでした");

  // 失敗するクエリ
  $res = pg_query($dbconn, "select * from doesnotexist");
  
  echo pg_last_error($dbconn);
?>

参考

  • pg_result_error
  • pg_result_error_field