pg_result_error_field

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

pg_result_error_field返回错误报告的单个字段

描述

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

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(),然后解析结果。

返回值

包含错误字段内容的 string,如果字段不存在,则为 null,或者在失败时为 false

变更日志

版本 描述
8.1.0 result 参数现在期望一个 PgSql\Result 实例;以前,期望一个 资源

示例

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

参见

添加注释

用户贡献的注释 1 个注释

dev at gwouite dot fr
1 年前
来自 libpq 文档的字段代码完整列表...

警告:它们以“PG_”为前缀,只需更改为“PGSQL_”,它们将可用作定义的 PHP 值。

对我来说,最重要的字段以星号结尾;)

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

源和字段代码详细信息:https://postgresql.ac.cn/docs/current/libpq-exec.html
To Top