pg_send_query
(PHP 4 >= 4.2.0, PHP 5)
pg_send_query — Ex�cute une requ�te PostgreSQL asynchrone
Description
pg_send_query() envoie une requ�te ou des requ�tes de mani�re asynchrone � la connexion connection . Contrairement � pg_query(), elle peut envoyer plusieurs requ�tes � la fois au serveur PostgreSQL et obtenir les r�sultats un par un en utilisant pg_get_result().
L'ex�cution du script n'est pas bloqu�e durant l'ex�cution des requ�tes. Utilisez pg_connection_busy() pour v�rifier si la connexion est occup�e (c'est-�-dire la requ�te est en train d'�tre ex�cut�e). Les requ�tes peuvent �tre annul�es avec pg_cancel_query().
Bien que l'on puisse envoyer plusieurs requ�tes en m�me temps, il n'est pas possible d'envoyer plusieurs requ�tes sur une connexion occup�e. Si une requ�te est envoy�e alors que la connexion est occup�e, elle attendra que la requ�te pr�c�dente soit termin�e et perdra tous ses r�sultats.
Liste de param�tres
- connection
-
La ressource de connexion de la base de donn�es PostgreSQL.
- query
-
La requ�te ou les requ�tes SQL � �tre ex�cut�es.
Valeurs de retour
Cette fonction retourne TRUE en cas de succ�s, FALSE en cas d'�chec.
Utilisez pg_get_result() pour d�terminer les r�sultats de requ�te.
Exemples
Exemple #1 Exemple avec pg_send_query()
<?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 de 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 de pg_get_result() : $res2\n";
$rows2 = pg_num_rows($res2);
echo "$res2 a $rows2 enregistrements\n";
?>
L'exemple ci-dessus va afficher :
Premier appel de pg_get_result() : Resource id #3 Resource id #3 a 3 enregistrements Second appel de pg_get_result() : Resource id #4 Resource id #4 a 1 enregistrements
Voir aussi
- pg_query() - Ex�cute une requ�te PostgreSQL
- pg_cancel_query() - Annule une requ�te asynchrone
- pg_get_result() - Lit un r�sultat PostgreSQL asynchrone
- pg_connection_busy() - V�rifie si la connexion PostgreSQL est occup�e