(PHP 5 >= 5.1.0, PHP 7, PHP 8)
pg_execute — Exécute une requête préparée PostGreSQL
Envoie une requête pour exécuter une requête préparée avec les paramètres donnés et attend le résultat.
pg_execute() est comme pg_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. Cette caractéristique permet aux commandes qui seront utilisées à plusieurs reprises d'être analysées et planifiées qu'une seule fois, plutôt que d'être exécutées chaque fois. La requête doit avoir été préalablement préparée dans la session courante. pg_execute() est supportée seulement avec les versions PostgreSQL 7.4 ou plus récentes; la commande échouera si vous l'utilisez avec des versions antérieures.
Les paramètres sont identiques à la fonction pg_query_params() à l'exception du nom de la requête préparée qui est donnée à la place de la requête sous forme de chaîne.
connection
Une instance PgSql\Connection.
Quand connection
est pas spécifié, la connexion par défaut est utilisé.
La connexion par défaut est la dernière connexion faite par
pg_connect() ou pg_pconnect()
À partir de PHP 8.1.0, utiliser la connexion par défaut est obsolète.
stmtname
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.
Les éléments sont convertis en chaînes de caractères en appelant cette fonction.
Une instance de PgSql\Result en cas de succès, ou false
si une erreur survient.
Version | Description |
---|---|
8.1.0 | Retourne désormais une instance de PgSql\Result instance ; auparavant, une resource était retourné. |
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_execute()
<?php
// Connexion à une base de données nommée "marie"
$dbconn = pg_connect("dbname=marie");
// Prépare une requête pour l'exécution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');
// Exécute la requête préparée. Notez qu'il n'est pas nécessaire d'échapper
// la chaîne "Joe's Widgets"
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));
// Exécute la même requête préparée, cette fois avec un paramètre différent
$result = pg_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));
?>