pg_send_query

(PHP 4 >= 4.2.0, PHP 5)

pg_send_query Ex�cute une requ�te PostgreSQL asynchrone

Description

bool pg_send_query ( resource $connection , string $query )

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