There is no way to poll/wait for a notification to come in. You either have to enter a busy loop or sleep. Both options are horrible. It would be nice for PHP to provide access to PQsocket so one could select() on the socket connection. This is how it's done from C or Perl.
pg_get_result
(PHP 4 >= 4.2.0, PHP 5)
pg_get_result — Lit un résultat PostgreSQL asynchrone
Description
resource pg_get_result
([ resource $connection
] )
pg_get_result() lit la ressource de résultat d'une requête asynchrone exécutée par pg_send_query(), pg_send_query_params() ou pg_send_execute().
pg_send_query() et les autres fonctions de requête asynchrone peuvent envoyer plusieurs requêtes à un serveur PostgreSQL et pg_get_result() est utilisé pour obtenir chaque résultat de requête, un par un.
Liste de paramètres
- connection
-
Ressource de connexion de base de données PostgreSQL.
Valeurs de retour
La resource de résultat ou FALSE s'il n'y a plus de résultat disponible.
Exemples
Exemple #1 Exemple avec pg_get_result()
<?php
$dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");
if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from auteurs; select count(*) from auteurs;");
}
$res1 = pg_get_result($dbconn);
echo "Premier appel à pg_get_result(): $res1\n";
$rows1 = pg_num_rows($res1);
echo "$res1 a $rows1 enregistrements\n\n";
$res2 = pg_get_result($dbconn);
echo "Second appel à pg_get_result(): $res2\n";
$rows2 = pg_num_rows($res2);
echo "$res2 a $rows2 enregistrements\n";
?>
L'exemple ci-dessus va afficher :
Premier appel à pg_get_result(): Resource id #3 Resource id #3 a 3 enregistrements Second appel à pg_get_result(): Resource id #4 Resource id #4 a 1 enregistrements
pg_get_result
william at 25thandClement dot com
28-Jan-2005 12:03
28-Jan-2005 12:03
