array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'function.pg-get-notify.php', 1 => 'pg_get_notify', ), 'up' => array ( 0 => 'ref.pgsql.php', 1 => 'Fonctions PostgreSQL', ), 'prev' => array ( 0 => 'function.pg-free-result.php', 1 => 'pg_free_result', ), 'next' => array ( 0 => 'function.pg-get-pid.php', 1 => 'pg_get_pid', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/pgsql/functions/pg-get-notify.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pg_get_notify — Lit le message SQL NOTIFY
pg_get_notify() reçoit le message de NOTIFY envoyé
par une commande SQL NOTIFY
. Pour lire le message
associé, utilisez la commande LISTEN
.
connection
Une instance PgSql\Connection.
mode
Un paramètre optionnel qui contrôle la façon dont le array retourné est indexé.
mode
est une constante qui peut prendre les valeurs suivantes :
PGSQL_ASSOC
, PGSQL_NUM
et PGSQL_BOTH
.
En utilisant PGSQL_NUM
, la fonction retournera un tableau avec des indices numériques,
en utilisant PGSQL_ASSOC
, elle retournera seulement des indices associatifs
tandis que PGSQL_BOTH
retournera à la fois des indices numériques et associatifs.
Un tableau contenant le nom du message NOTIFY
.
Si le serveur supporte, le tableau contient aussi la version du serveur et la charge utile (payload).
Sinon, si aucun NOTIFY
n'est en attente, alors false
sera retourné.
Version | Description |
---|---|
8.1.0 |
Le paramètre connection attend désormais une instance de
PgSql\Connection ; auparavant, une ressource était attendu.
|
Exemple #1 Exemple avec pg_get_notify()
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "Une erreur est survenue.\n";
exit;
}
// ecoute le message 'author_updated' des autres processus
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
echo "Aucun message\n";
} else {
print_r($notify);
}
?>