(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_send_execute — Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s)
Envoie une requête pour exécuter une requête préparée avec des paramètres donnés, sans attendre le(s) résultat(s).
Cette fonction est similaire à pg_send_query_params(), mais la commande qui sera exécutée est spécifiée en nommant une requête préalablement préparée, au lieu de donner une chaîne en tant que requête. 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 de la requête préparée à exécuter. Si une chaîne vide est
spécifiée (""), alors la requête qui n'est pas nommée est exécutée. Le
nom doit avoir été précédemment préparé en utilisant
pg_prepare(), pg_send_prepare()
ou une commande SQL PREPARE
.
params
Un tableau de valeurs de paramètres pour substituer les variables $1, $2, etc. dans la requête préparée originale. Le nombre d'éléments présents dans le tableau doit concorder avec le nombre de variables à remplacer.
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 avec pg_send_execute()
<?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_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));
$res3 = pg_get_result($dbconn);
}
?>