pg_result_error_field

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

pg_result_error_fieldReturns an individual field of an error report

说明

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

pg_result_error_field() returns one of the detailed error message fields associated with result instance. It is only available against a PostgreSQL 7.4 or above server. The error field is specified by the field_code.

Because pg_query() and pg_query_params() return false if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

If you need to get additional error information from failed pg_query() queries, use pg_set_error_verbosity() and pg_last_error() and then parse the result.

返回值

A string containing the contents of the error field, null if the field does not exist or false on failure.

更新日志

版本 说明
8.1.0 现在 result 参数接受 PgSql\Result 实例,之前接受 resource

示例

示例 #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);
?>

参见

添加备注

用户贡献的备注 1 note

up
0
dev at gwouite dot fr
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_SEVERITYPG_DIAG_SEVERITY_NONLOCALIZED  *PG_DIAG_SQLSTATE  *PG_DIAG_MESSAGE_PRIMARYPG_DIAG_MESSAGE_DETAILPG_DIAG_MESSAGE_HINTPG_DIAG_STATEMENT_POSITIONPG_DIAG_INTERNAL_POSITIONPG_DIAG_INTERNAL_QUERYPG_DIAG_CONTEXTPG_DIAG_SCHEMA_NAME  *PG_DIAG_TABLE_NAME  *PG_DIAG_COLUMN_NAME  *PG_DIAG_DATATYPE_NAME  *PG_DIAG_CONSTRAINT_NAMEPG_DIAG_SOURCE_FILEPG_DIAG_SOURCE_LINEPG_DIAG_SOURCE_FUNCTIONSource and field codes details : https://www.postgresql.org/docs/current/libpq-exec.html
To Top