(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_get_notify — Liefert eine SQL-NOTIFY-Nachricht
pg_get_notify() gibt eine NOTIFY-Nachricht zurück, die vom SQL-Kommando NOTIFY
gesendet wurde. Um diese Nachrichten zu erhalten, muss zuvor das SQL-Kommando LISTEN
ausgeführt worden sein.
connection
Eine PgSql\Connection-Instanz.
mode
Ein optionaler Parameter, der bestimmt, wie das zurückgegebene Array indiziert werden soll. mode
ist eine Konstante, die einen der folgenden Werte annehmen kann: PGSQL_ASSOC
, PGSQL_NUM
und PGSQL_BOTH
. Wenn die Funktion mit PGSQL_NUM
aufgerufen wird, wird ein Array mit numerischen Indizes zurückgegeben, mit PGSQL_ASSOC
wird ein Array mit assoziatives Indizes zurückgegeben und mit PGSQL_BOTH
ein Array mit beiden Indizes.
Ein Array, das die NOTIFY
-Nachricht und die PID des Datenbankprozesses enthält. Falls vom Server unterstützt, enthält das Array ebenfalls die Serverversion und die Nutzdaten. Existiert kein NOTIFY
, wird false
zurückgegeben.
Version | Beschreibung |
---|---|
8.1.0 | Der Parameter connection erwartet nun eine PgSql\Connection-Instanz; vorher wurde eine Ressource erwartet. |
Beispiel #1 PostgreSQL-NOTIFY-Nachricht
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "Konnte keine Verbindung aufbauen.\n";
exit;
}
// Listen-Kommando 'author_updated', um Benachrichtigungen
// von anderen Prozessen zu erhalten
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
echo "Keine Nachrichten\n";
} else {
print_r($notify);
}
?>