pg_result_error_field

(PHP 5 >= 5.1.0, PHP 7)

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

Описание

string pg_result_error_field ( resource $result , int $fieldcode )

pg_result_error_field() возвращает одно из полей отчета об ошибках, связанного с ресурсом result. Функция поддерживается серверами PostgreSQL версий 7.4 и выше. Нужное поле задается аргументом fieldcode.

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

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

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

result

Ресурс результата предыдущего запроса PostgreSQL.

fieldcode

Возможные значения аргумента fieldcode: 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 в случае ошибки.

Примеры

Пример #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($res1PGSQL_DIAG_SQLSTATE);
?>

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

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

Коментарии

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
2023-07-31 00:23:56
http://php5.kiev.ua/manual/ru/function.pg-result-error-field.html

    Поддержать сайт на родительском проекте КГБ