PHP 8.6.0 Beta 1 is available for testing

pg_result_error_field

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_result_error_field Возвращает конкретное поле из отчёта об ошибках

Описание

function pg_result_error_field(PgSql\Result $result, int $field_code): string |false |null

pg_result_error_field() возвращает одно из полей отчёта об ошибках, связанного с экземпляром result. Нужное поле задаётся аргументом field_code.

Функции pg_query() и pg_query_params() в случае ошибок возвращают false вместо ресурса. Чтобы иметь возможность обрабатывать ошибки, пользуйтесь функциями pg_send_query() и pg_get_result() .

Для получения дополнительной информации о ходе выполнения отказавшей функции pg_query() используйте функции pg_set_error_verbosity() и pg_last_error() и обрабатывайте результат их выполнения.

Список параметров

result
Экземпляр класса PgSql\Result , который возвращают функции pg_query() , pg_query_params() или pg_execute() (среди прочего).
field_code

Возможные значения аргумента field_code: PGSQL_DIAG_SEVERITY , PGSQL_DIAG_SQLSTATE , PGSQL_DIAG_MESSAGE_PRIMARY , PGSQL_DIAG_MESSAGE_DETAIL , PGSQL_DIAG_MESSAGE_HINT , PGSQL_DIAG_STATEMENT_POSITION , PGSQL_DIAG_INTERNAL_POSITION , PGSQL_DIAG_INTERNAL_QUERY , PGSQL_DIAG_CONTEXT , PGSQL_DIAG_SOURCE_FILE , PGSQL_DIAG_SOURCE_LINE , PGSQL_DIAG_SOURCE_FUNCTION .

Возвращаемые значения

Сообщение об ошибке из заданного поля в виде строки (string ); null , если заданное поле не существует; false в случае возникновения ошибки.

Список изменений

Версия Описание
8.1.0 Параметр result теперь принимает объект PgSql\Result ; раньше параметр принимал тип resource .

Примеры

Пример #1 Пример использования pg_result_error_field()

<?php
 $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
 if (!pg_connection_busy($dbconn)) {
 pg_send_query($dbconn, "select * from doesnotexist;");
 }
 $res1 = pg_get_result($dbconn);
 echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

Смотрите также

  • pg_result_error() - Возвращает сообщение об ошибке, связанное с запросом результата

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 1 note

up
0
dev at gwouite dot fr
3 years ago
Complete list of field codes from libpq documentation...
Warning : they are prefixed with "PG_", just change to "PGSQL_" and they'll be available as defined PHP values.
For me, most importants fields are suffixed with a star ;)
PG_DIAG_SEVERITY
PG_DIAG_SEVERITY_NONLOCALIZED *
PG_DIAG_SQLSTATE *
PG_DIAG_MESSAGE_PRIMARY
PG_DIAG_MESSAGE_DETAIL
PG_DIAG_MESSAGE_HINT
PG_DIAG_STATEMENT_POSITION
PG_DIAG_INTERNAL_POSITION
PG_DIAG_INTERNAL_QUERY
PG_DIAG_CONTEXT
PG_DIAG_SCHEMA_NAME *
PG_DIAG_TABLE_NAME *
PG_DIAG_COLUMN_NAME *
PG_DIAG_DATATYPE_NAME *
PG_DIAG_CONSTRAINT_NAME
PG_DIAG_SOURCE_FILE
PG_DIAG_SOURCE_LINE
PG_DIAG_SOURCE_FUNCTION
Source and field codes details : https://www.postgresql.org/docs/current/libpq-exec.html 
+Добавить

AltStyle によって変換されたページ (->オリジナル) /