pg_update
(PHP 4 >= 4.3.0, PHP 5)
pg_update — Modifie les lignes d'une table
Description
$connection
, string $table_name
, array $data
, array $condition
[, int $options
= PGSQL_DML_EXEC
] )
pg_update() modifie les lignes de la table
table_name
, qui vérifient la condition
condition, et leur donne la valeur de data.
Si options est spécifié,
pg_convert() est appliqué à
data avec les options spécifiées.
Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.
Liste de paramètres
-
connection
-
Une ressource de connexion PostgreSQL.
-
table_name
-
Le nom de la table dans laquelle les lignes seront mises à jour.
-
data
-
Un tableau dont les clés sont les noms des champs dans la table
table_name
, et où les valeurs sont les lignes correspondantes qui seront mises à jour. -
condition
-
Un tableau dont les clés sont les noms des champs dans la table
table_name
, et où les valeurs sont les conditions à remplir par les lignes pour être mises à jour. -
options
-
Toutes combinaisons de constantes parmi
PGSQL_CONV_OPTS
,PGSQL_DML_NO_CONV
,PGSQL_DML_EXEC
ouPGSQL_DML_STRING
. SiPGSQL_DML_STRING
fait partie du paramètreoptions
, alors la requête sera retournée.
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient. Retourne une chaîne de caractères si PGSQL_DML_STRING
est passé
via le paramètre options
.
Exemples
Exemple #1 Exemple avec pg_update()
<?php $db = pg_connect ('dbname=foo'); $data = array('field1'=>'AA', 'field2'=>'BB'); // C'est sécuritaire, car $_POST est converti automatiquement $res = pg_update($db, 'post_log', $_POST, $data); if ($res) { echo "Les données ont été modifiées : $res\n"; } else { echo "Problème dans les données utilisateur\n"; } ?>
Historique
Version | Description |
---|---|
5.5.3/5.4.19 |
Les injections SQL directes dans table_name
et les injections SQL indirectes via les identifiants ont été résolues.
|