|
8.103.80 pg_send_query()
Exécute une requête PostgreSQL asynchrone
[ Exemples avec pg_send_query ] PHP 4 >= 4.2.0, PHP 5
bool
pg_send_query (
resource
connection
,
string
query
)
bool
pg_send_query (
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.
-
connection
-
La ressource de connexion de la base de données PostgreSQL. Lorsque
connection
n'est pas présent, la connexion par
défaut est utilisée. La connexion par défaut est la dernière connexion
faite par
pg_connect
ou
pg_pconnect
.
-
query
-
La requête ou les requêtes SQL à être exécutées.
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.
| 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"; ?>
|
|