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
&reftitle.description;
PgSql\Resultfalsepg_query_paramsPgSql\Connectionconnectionstringqueryarrayparams
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. Le même paramètre peut survenir plus d'une fois
dans la requête query ; la même valeur sera utilisée
dans ce cas. 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 évite 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.)
&reftitle.parameters;
connection
&pgsql.parameter.connection-with-unspecified-default;
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.
Les valeurs fournies par l'utilisateur doivent toujours être
passées comme paramètres, et non interpolées dans la chaîne de
requête, où elles peuvent potentiellement former des
injections SQL
et introduire des bogues lorsque ces données contiennent des guillemets.
Si pour une raison quelconque vous ne pouvez pas utiliser de paramètres,
assurez-vous que les valeurs interpolées sont
proprement échappées.
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 valeurs attendues pour les champs bytea ne sont
pas supportées comme paramètres. Utilisez plutôt la fonction
pg_escape_bytea ou utilisez les fonctions sur les
objets larges.
&reftitle.returnvalues;
Une instance PgSql\Result en cas de succès, &return.falseforfailure;.
&reftitle.changelog;
&Version;&Description;
&pgsql.changelog.return-result-object;
&pgsql.changelog.connection-object;
&reftitle.examples;
Exemple avec pg_query_params
]]>
&reftitle.seealso;
pg_query