PHP Conference Fukuoka 2025

pg_result_error_field

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

pg_result_error_field Devuelve un campo individual de un informe de error

Descripción

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

pg_result_error_field() devuelve uno de los campos detallados del mensaje de error asociados al recurso result. Esta función está disponible solo en servidores PostgreSQL 7.4 o superiores. El campo de error se especifica mediante field_code.

Dado que pg_query() y pg_query_params() devuelven false si la consulta falla, se debe utilizar pg_send_query() y pg_get_result() para obtener el conjunto de resultados.

Si se necesita obtener más información sobre el error al fallar las consultas con pg_query(), se debe utilizar pg_set_error_verbosity() y pg_last_error() y analizar posteriormente el resultado.

Valores devueltos

Devuelve una cadena que contiene el contenido del campo de error, null si el campo no existe o false en caso de fallo.

Historial de cambios

Versión Descripción
8.1.0 El parámetro result ahora espera una instancia de PgSql\Result ; anteriormente, se esperaba un resource.

Ejemplos

Ejemplo #1 Ejemplo con pg_result_error_field()

<?php
$dbconn
= pg_connect("dbname=publisher") or die("Conexión imposible");

if (!
pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from nexistepas;");
}

$res1 = pg_get_result($dbconn);
echo
pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

Ver también

add a note

User Contributed Notes 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