pg_last_notice
(PHP 4 >= 4.0.6, PHP 5)
pg_last_notice — Gibt die letzte NOTICE-Meldung des PostgreSQL-Servers zurück
Beschreibung
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.
Diese Funktion ist EXPERIMENTELL und noch nicht vollständig implementiert. pg_last_notice() wurde mit der Version 4.0.6 eingeführt. Diese Version hat jedoch Probleme mit der Verarbeitung der NOTICE-Meldungen. Von der Benutzung des PostgreSQL-Moduls mit PHP 4.0.6 wird abgeraten, auch wenn Sie die Funktion pg_last_notice() nicht nutzen.
Diese Funktion ist seit PHP 4.3.0 vollständig implementiert. In PHP-Versionen davor wird der Parameter connection ignoriert.
Die Verfolgung von Notice-Benachrichtigungen kann ab PHP 4.3.0 auf optional gesetzt werden, indem die Direktive pgsql.ignore_notice in php.ini den Wert 1 erhält.
Die Protokollierung von Notice-Benachrichtigungen kann ab PHP 4.3.0 auf optional gesetzt werden, indem die Direktive pgsql.log_notice in php.ini den Wert 1 erhält. Wenn die Direktive pgsql.ignore_notice den Wert 0 hat, können keine Notice-Benachrichtigungen protokolliert werden.
Parameter Liste
- connection
-
PostgreSQL Verbindungskennung.
Rückgabewerte
Ein string, der die letzte NOTICE-Meldung für die übergebene connection enthält oder FALSE, falls ein Fehler auftrat.
Beispiele
Example#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"