pg_get_notify
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_get_notify — Liefert eine SQL-NOTIFY-Nachricht
Beschreibung
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.
Parameter-Liste
-
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
undPGSQL_BOTH
. Wenn die Funktion mitPGSQL_NUM
aufgerufen wird, wird ein Array mit numerischen Indizes zurückgegeben, mitPGSQL_ASSOC
wird ein Array mit assoziatives Indizes zurückgegeben und mitPGSQL_BOTH
ein Array mit beiden Indizes.
Rückgabewerte
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.
Changelog
Version | Beschreibung |
---|---|
8.1.0 |
Der Parameter connection erwartet nun eine PgSql\Connection-Instanz;
vorher wurde eine Ressource erwartet.
|
Beispiele
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);
}
?>