sql_insertq

La fonction sql_insertq() permet de réaliser une insertion dans la base de données. Les valeurs transmises non numériques seront protégés par des fonctions adaptées à chaque gestionnaire de bases de données pour gérer les apostrophes. La fonction retourne si possible le numéro de l’identifiant de clé primaire inséré.

La fonction admet 5 paramètres :

  1. $table est le nom de la table SQL,
  2. $couples est un tableau associatif nom / valeur,
  3. $desc,
  4. $serveur,
  5. $option.

Elle s’utilise simplement comme ceci :

$id = sql_insertq('table', array('colonne'=>'valeur'));

Exemple

Les fonctions insert_xx() tel que insert_article() présente dans ecrire/action/editer_article.php permettent de créer des insertions en base de données pour les objets concernés, en gérant les valeurs par défaut et en appelant le pipeline pre_insertion concerné. Ces fonctions retournent l’identifiant alors créé.

Ces fonctions exécutent donc, après le pipeline pre_insertion la fonction sql_insertq(). Puis dans la foulée, si un auteur est identifié, l’article est lié à cet auteur :

$id_article = sql_insertq("spip_articles", $champs);
// controler si le serveur n'a pas renvoye une erreur
if ($id_article > 0 AND $GLOBALS['visiteur_session']['id_auteur']) {
    sql_insertq('spip_auteurs_articles', array(
        'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'],
        'id_article' => $id_article));
}

Auteur Matthieu Marcillaud Publié le : Mis à jour : 14/05/10

Traductions : English, français