Fonctions PostgreSQL
PHP Manual

pg_update

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_update Modifie les lignes d'une table

Description

mixed pg_update ( resource $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.

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_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.

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.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.

Voir aussi


Fonctions PostgreSQL
PHP Manual