PHP: pg_result_error_field - Manual (original) (raw)
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_result_error_field — Returns an individual field of an error report
Parameters
result
An PgSql\Result instance, returned by pg_query(),pg_query_params() or pg_execute()(among others).
field_code
Possible field_code values are: [PGSQL_DIAG_SEVERITY](pgsql.constants.php#constant.pgsql-diag-severity),[PGSQL_DIAG_SQLSTATE](pgsql.constants.php#constant.pgsql-diag-sqlstate), [PGSQL_DIAG_MESSAGE_PRIMARY](pgsql.constants.php#constant.pgsql-diag-message-primary),[PGSQL_DIAG_MESSAGE_DETAIL](pgsql.constants.php#constant.pgsql-diag-message-detail),[PGSQL_DIAG_MESSAGE_HINT](pgsql.constants.php#constant.pgsql-diag-message-hint), [PGSQL_DIAG_STATEMENT_POSITION](pgsql.constants.php#constant.pgsql-diag-statement-position),[PGSQL_DIAG_INTERNAL_POSITION](pgsql.constants.php#constant.pgsql-diag-internal-position) (PostgreSQL 8.0+ only),[PGSQL_DIAG_INTERNAL_QUERY](pgsql.constants.php#constant.pgsql-diag-internal-query) (PostgreSQL 8.0+ only),[PGSQL_DIAG_CONTEXT](pgsql.constants.php#constant.pgsql-diag-context), [PGSQL_DIAG_SOURCE_FILE](pgsql.constants.php#constant.pgsql-diag-source-file),[PGSQL_DIAG_SOURCE_LINE](pgsql.constants.php#constant.pgsql-diag-source-line) or**[PGSQL_DIAG_SOURCE_FUNCTION](pgsql.constants.php#constant.pgsql-diag-source-function)**.
Return Values
A string containing the contents of the error field, [null](reserved.constants.php#constant.null) if the field does not exist or [false](reserved.constants.php#constant.false) on failure.
Changelog
| Version | Description |
|---|---|
| 8.1.0 | The result parameter expects an PgSql\Result instance now; previously, a resource was expected. |
Examples
Example #1 pg_result_error_field() example
`<?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);
?>`
Found A Problem?
2 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