r11231 - in spip/ecrire: base inc req

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

Details: http://trac.rezo.net/trac/spip/changeset/11231