pg_prepare
(PHP 5 >= 5.1.0, PHP 7)
pg_prepare — Envoie une requête pour créer une requête préparée avec les paramètres donnés et attend l'exécution
Description
$connection
], string $stmtname
, string $query
)pg_prepare() crée une requête préparée pour une exécution ultérieure avec pg_execute() ou pg_send_execute(). 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. pg_prepare() 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.
La fonction crée une requête préparée nommée
stmtname
à partir de la chaîne
query
, celle-ci doit contenir qu'une seule commande
SQL. stmtname
peut être vide ("") pour créer une
requête qui n'est pas nommée. Dans ce cas, les requêtes qui existaient et
qui se trouvaient sans noms sont automatiquement remplacées; autrement, il y
aura une erreur si le nom de la requête est déjà défini dans la session
courante. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc.
dans query
.
Des requêtes préparées à utiliser avec pg_prepare() peuvent être aussi créées en exécutant la requête SQL PREPARE. (Par contre, pg_prepare() est plus flexible puisqu'elle ne nécessite pas que les types des paramètres soit préspécifiés.) De plus, bien qu'il n'y a pas de fonction PHP pour supprimer une requête préparée, la requête SQL DEALLOCATE peut être utilisé pour ce motif.
Liste de paramètres
-
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(). -
stmtname
-
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 noms 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.
Exemples
Exemple #1 Exemple avec pg_prepare()
<?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"));
?>
Voir aussi
- pg_execute() - Exécute une requête préparée PostGreSQL
- 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)
Version en cache
26/11/2024 09:16:50 Cette version de la page est en cache (à la date du 26/11/2024 09:16:50) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-pg-prepare.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.