(PHP 4 >= 4.0.6, PHP 5)
pg_last_notice — Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück
$connection
)
pg_last_notice() gibt die letzte NOTICE-Meldung
des PostgreSQL Servers für die angegebene connection
zurück. Der PostgreSQL-Server sendet zu unterschiedlichen Anlässen
NOTICE-Meldungen an den Client, beispielsweise, wenn in einer Tabelle
eine Spalte vom Typ SERIAL erzeugt wurde.
Mit pg_last_notice() kann das Senden überflüssiger Abfragen vermieden werden, indem man prüft, ob eine NOTICE-Meldung sich auf die aktuelle Transaktion bezieht oder nicht.
Die Verfolgung von NOTICE-Benachrichtigungen kann auf optional gesetzt werden, indem die Direktive pgsql.ignore_notice in php.ini den Wert 1 erhält.
Die Protokollierung von Notice-Benachrichtigungen kann auf optional gesetzt werden, indem die Direktive pgsql.log_notice in php.ini den Wert 0 erhält. Nur wenn die Direktive pgsql.ignore_notice den Wert 0 hat, können Notice-Benachrichtigungen protokolliert werden.
connection
PostgreSQL Verbindungskennung.
Ein string, der die letzte NOTICE-Meldung für die
übergebene connection
enthält oder FALSE
,
falls ein Fehler auftrat.
Version | Beschreibung |
---|---|
4.3.0 | Diese Funktion ist nun vollständig implementiert. In früheren Versionen wurde die Angabe des Parameters für die Verbindungskennung zur Datenbank ignoriert. |
4.3.0 | Die Direktiven pgsql.ignore_notice und pgsql.log_notice wurden in die php.ini eingefügt. |
4.0.6 | In PHP 4.0.6 gibt es ein Problem mit der Verarbeitung der Notice-Benachrichtigungen. Von der Verwendung des PostgreSQL-Moduls mit PHP 4.0.6 wird abgeraten, selbst wenn Sie die Funktion pg_last_notice() nicht einsetzen. |
Beispiel #1 pg_last_error() Beispiel
<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");
$res = pg_query("CREATE TABLE test (id SERIAL)");
$notice = pg_last_notice($pgsql_conn);
echo $notice;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"