(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_send_prepare — Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution
Envoie une requête pour créer une requête préparée avec les paramètres donnés, sans attendre la fin de son exécution.
Cette fonction est la version asynchrone de pg_prepare()
: elle retourne true
si elle a été capable de répartir la requête et
false
si elle n'a pas été capable. Après un appel réussi, appelez
pg_get_result() pour déterminer si le serveur a créé
correctement la requête préparée.
Les paramètres de la fonctions sont gérés de la même manière que
pg_execute(). Comme pg_execute(), la
fonction ne fonctionnera pas sur les versions antérieures à PostgreSQL 7.4.
connection
Une instance PgSql\Connection.
statement_name
Le nom à donner à la requête préparée. Il doit être unique à chaque session. Si une chaîne vide est spécifiée ("") alors une requête sans nom est créée, écrasant les requêtes sans nom précédemment définies.
query
La requête SQL avec ses paramètres. Elle doit contenir seulement une seule requête. Plusieurs requêtes séparées par des points-virgules ne sont pas autorisées. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc.
Retourne true
en cas de succès, false
ou 0
en cas d'échec.
Utilisez pg_get_result() pour déterminer le résultat
de la requête.
Version | Description |
---|---|
8.1.0 |
Le paramètre connection attend désormais une instance de
PgSql\Connection ; auparavant, une resource était attendu.
|
Exemple #1 Exemple pg_send_prepare()
<?php
$dbconn = pg_connect("dbname=publisher") or die("Connexion impossible");
// Prépare une requête pour l'exécution
if (!pg_connection_busy($dbconn)) {
pg_send_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');
$res1 = pg_get_result($dbconn);
}
// Exécute la requête préparée. Notez qu'il n'est pas nécessaire d'échapper
// la chaîne "Joe's Widgets"
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
$res2 = pg_get_result($dbconn);
}
// Exécute la même requête préparée, cette fois avec un paramètre différent
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));
$res3 = pg_get_result($dbconn);
}
?>