(PHP 5 >= 5.1.0)
pg_query_params — Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL
$connection
], string $query
, array $params
)Envoie une commande au serveur et attend le résultat, avec les capacités de passer des paramètres séparément de la commande texte SQL.
pg_query_params() est comme pg_query(), mais offre des fonctionnalités additionnelles : les valeurs des paramètres peuvent être spécifiées séparément de la ligne de commande propre. pg_query_params() 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.
Si des paramètres sont utilisés, ils sont référés à $1, $2, etc. dans
query
. params
spécifie les
valeurs actuelles des paramètres. Une valeur NULL
dans ce tableau
signifie que le paramètre correspondant est SQL NULL
.
Le principal avantage de pg_query_params() sur
pg_query() est que les valeurs des paramètres peuvent
être séparées de la requête query
, par conséquent,
on invite les échappements de caractères ennuyeux et source d'erreurs.
Contrairement à pg_query(),
pg_query_params() permet seulement une seule commande
SQL dans la chaîne donnée. (Il peut y avoir des points-virgules à
l'intérieur mais pas plus d'une seule commande.)
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 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.
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.
Une ressource de résultats en cas de succès ou FALSE
si une erreur survient.
Exemple #1 Exemple avec pg_query_params()
<?php
// Connexion à une base de données nommée "marie"
$dbconn = pg_connect("dbname=marie");
// Cherche tous les magasins nommés Joe's Widgets. Notez qu'il n'est pas
// nécessaire d'échapper la chaîne "Joe's Widgets"
$result = pg_query_params($dbconn, 'SELECT * FROM magasins WHERE nom = $1', array("Joe's Widgets"));
// Compare en utilisant pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM magasins WHERE nom = '{$str}'");
?>