Author: marcimat@free.fr
Date: 2008-02-20 13:06:55 +0100 (mer, 20 fév 2008)
New Revision: 11231
Log:
Introcuction de 2 nouvelles fonctions d'abstraction sql :
- sql_insertq_multi
- sql_replace_multi
Elles sont utiles dans le cas où l'on souhaite utiliser la syntaxe d'insertion multi-ligne de mysql.
- Sous mysql et postgres sql, sql_insertq() créera une requete multiligne : insert into table (cle) values (valeur),(valeur),...
- Sous sqlite, sql_insertq_multi executera chaque ligne avec sql_insertq()
- Sous mysql, sql_replace_multi() creera une requete multiligne
- Sous postgres et sqlite, sql_replace_multi() executera chaque ligne avec sql_replace()
Syntaxe :
Ces fonctions reprennent les paramètres de sql_insertq() et sql_replace() :
sql_insertq($table, $couples)
- $table : nom de la table
- $couples : tableau ('champ_sql'=>valeur, 'champ_sql'=>valeur...)
sql_insertq_multi($table, $tab_couples)
- $tab_couples : tableau de $couples tout simplement.
A noter que ces fonctions d'insertion multiple retournent le dernier identifiant autoincrement ajouté. Si la table (comme spip_recherches) n'a pas d'autoincrement, la fonction retourne 0 bien que que la requete se soit bien effectuée.
Mis en place sur inc/prepare_recherche.php
La recherche est réparée sous SQLite.
Modified:
spip/ecrire/base/abstract_sql.php
spip/ecrire/inc/prepare_recherche.php
spip/ecrire/req/mysql.php
spip/ecrire/req/pg.php
spip/ecrire/req/sqlite_generique.php