Programmer avec SPIP 3.0
Documentation technique sur SPIP 3.0

> > > > sql_update

sql_update

La fonction sql_update() met à jour un ou des enregistrements dans une table SQL. Les éléments transmis ne sont pas protégés automatiquement comme avec sql_updateq(), il faut dont faire attention aux injections SQL et utiliser les fonctions sql_quote() pour protéger les contenus quand cela est nécessaire.

La fonction admet 6 paramètres :

  1. $table est la table SQL utilisée,
  2. $exp contient les modifications à réaliser,
  3. $where,
  4. $desc,
  5. $serveur,
  6. $option.

Cette fonction est utilisée principalement pour modifier des valeurs en utilisant la valeur même d’une colonne, tel que :

  1. // ajoute 1 a la colonne
  2. sql_update('table', array('colonne' => 'colonne + 1'));

Télécharger

Lorsque des données ajoutées avec cette fonction sont susceptibles d’avoir des apostrophes ou proviennent de saisies utilisateur, il est important de protéger l’insertion avec sql_quote() :

  1. sql_update('table', array('colonne' => sql_quote($valeur)));

Exemple

Actualiser la colonne « id_secteur » avec l’identifiant des rubriques n’ayant pas de parent :

  1. // fixer les id_secteur des rubriques racines
  2. sql_update('spip_rubriques', array('id_secteur'=>'id_rubrique'), "id_parent=0");

Télécharger

Ajouter un nombre identique de visites aux statistiques de certains articles :

  1. $tous = sql_in('id_article', $liste);
  2. sql_update('spip_visites_articles',
  3. array('visites' => "visites+$n"),
  4. "date='$date' AND $tous");

Télécharger