array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.pg-result-error-field.php', 1 => 'pg_result_error_field', ), 'up' => array ( 0 => 'ref.pgsql.php', 1 => 'Функции PostgreSQL', ), 'prev' => array ( 0 => 'function.pg-query.php', 1 => 'pg_query', ), 'next' => array ( 0 => 'function.pg-result-error.php', 1 => 'pg_result_error', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/pgsql/functions/pg-result-error-field.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_result_error_field — Возвращает конкретное поле из отчёта об ошибках
pg_result_error_field() возвращает одно из полей
отчёта об ошибках, связанного с экземпляром result
.
Функция поддерживается серверами PostgreSQL версий 7.4 и выше. Нужное
поле задаётся аргументом 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
(для версий PostgreSQL 8.0 и выше),
PGSQL_DIAG_INTERNAL_QUERY
(для версий PostgreSQL 8.0 и выше),
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);
?>