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 :
-#
$table
est le nom de la table SQL,
-#
$couples
est un tableau associatif nom / valeur,
-#
$desc
,
-#
$serveur
,
-#
$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));
}