pg_update
Modifie les lignes d'une table
&reftitle.description;
mixedpg_update
resourceconnection
stringtable_name
arraydata
arraycondition
intoptionsPGSQL_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.
pg_update met à jour les ligles fournit par
assoc_array qui a
field=>value.
Si options est fournit,
pg_convert est appliqué à
assoc_array avec les drapeaux fournit.
Par défaut pg_delete passe des valeurs brutes. Les valeurs
doivent être échappé ou l'option PGSQL_DML_ESCAPE doit être fournit.
PGSQL_DML_ESCAPE met des guillemets et échappe les paramètres/idantifiants.
Par conséquent, les noms de table/colonnes doivent être sensible à la casse.
Notez que ni l'échappement ni les requêtes préparer peuvent protéger des
requêtes LIKE, JSON, Tableaux, Regex, etc. Ces paramètres devraient être
traité en fonction de leur contexte. C'est à dire échapper/valider les valeurs.
&reftitle.parameters;
connection
Une ressource de connexion PostgreSQL.
table_name
Le nom de la table dans laquelle les lignes seront mises à jour.
data
Un &array; 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 &array; 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_FORCE_NULL,
PGSQL_DML_NO_CONV,
PGSQL_DML_ESCAPE,
PGSQL_DML_EXEC,
PGSQL_DML_ASYNC ou
PGSQL_DML_STRING.
Si PGSQL_DML_STRING fait partie du paramètre
options, alors la requête sera retournée.
Lorsque la constante PGSQL_DML_NO_CONV ou la constante
PGSQL_DML_ESCAPE est définie, aucun appel à la fonction
pg_convert ne sera réalisé en interne.
&reftitle.returnvalues;
&return.success; Retourne une &string; si PGSQL_DML_STRING est passé
via le paramètre options.
&reftitle.examples;
Exemple avec pg_update
'AA', 'field2'=>'BB');
// Ceci est sûr quelque peu, car toutes les valeurs sont échappées
// Cependant PostgreSSQL supporte les JSON/Tableaux. Ceci ne sont pas
// sûr ni par échappement ni par les requêtes préparés.
$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";
}
?>
]]>
&reftitle.changelog;
&Version;
&Description;
5.6.0
La fonction n'est plus expérimentale. Ajout de la constante
PGSQL_DML_ESCAPE ainsi que du support des données
de type &true;/&false; et &null;.
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.
&reftitle.seealso;
pg_convert