(PHP 5 >= 5.1.0, PHP 7)
pg_result_error_field — Gibt den Inhalt eines bestimmtes Feldes zu einer Fehlermeldung zurück
$result
, int $fieldcode
) : string
pg_result_error_field() gibt ein Feld der
ausführlichen Fehlerbeschreibung zurück, die mit der Ergebniskennung
result
verbunden ist. Die Funktion wird nur für
Verbindungen zu PostgreSQL ab der Version 7.4 unterstützt. Das
gewünschte Feld wird im Parameter fieldcode
übergeben.
Da pg_query() und pg_query_params()
FALSE
zurückgeben, wenn eine Abfrage fehlschlägt, müssen Sie
pg_send_query() und
pg_get_result()
benutzen, um eine Ergebniskennung zu erhalten.
Falls Sie weitergehende Informationen über einen aufgetretenen Fehler bei pg_query() brauchen, können Sie pg_set_error_verbosity() oder pg_last_error() aufrufen und deren Ergebnisse analysieren.
result
Die Ergebniskennung einer vorhergehenden PostgreSQL-Abfrage.
fieldcode
Mögliche Werte von fieldcode
sind:
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
(nur PostgreSQL ab Version 8.0),
PGSQL_DIAG_INTERNAL_QUERY
(nur PostgreSQL ab Version 8.0),
PGSQL_DIAG_CONTEXT
, PGSQL_DIAG_SOURCE_FILE
,
PGSQL_DIAG_SOURCE_LINE
or
PGSQL_DIAG_SOURCE_FUNCTION
.
Ein string, der den Inhalt des Fehlerfeldes enthält, oder
NULL
, falls das Feld nicht existiert. Bei einem Fehler wird FALSE
zurückgegeben.
Beispiel #1 pg_result_error_field()-Beispiel
<?php
$dbconn = pg_connect("dbname=publisher") or die("Konnte nicht verbinden.");
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);
?>