From c9b1abcd3d9250597a445b7dfa1b4f6bfd07530d Mon Sep 17 00:00:00 2001 From: Matthieu Marcillaud <marcimat@rezo.net> Date: Thu, 28 Feb 2008 13:19:25 +0000 Subject: [PATCH] =?UTF-8?q?-=20r=C3=A9parer=20spip=5Fsqlite=5Freplace()=20?= =?UTF-8?q?cass=C3=A9=20par=20[11231]=20!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/req/sqlite_generique.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ecrire/req/sqlite_generique.php b/ecrire/req/sqlite_generique.php index 19e25e88c8..603b89292f 100644 --- a/ecrire/req/sqlite_generique.php +++ b/ecrire/req/sqlite_generique.php @@ -342,6 +342,7 @@ function spip_sqlite_drop_table($table, $exist='', $serveur='',$requeter=true) { function spip_sqlite_error($query='', $serveur='',$requeter=true) { + echo ":: $query<br /><br />"; $link = _sqlite_link($serveur); if (_sqlite_is_version(3, $link)){ @@ -583,10 +584,16 @@ function spip_sqlite_repair($table, $serveur='',$requeter=true){ function spip_sqlite_replace($table, $couples, $desc=array(), $serveur='',$requeter=true) { + if (!$desc) $desc = description_table($table); + if (!$desc) die("$table insertion sans description"); + $fields = isset($desc['field'])?$desc['field']:array(); + + foreach ($couples as $champ => $val) { + $couples[$champ]= _sqlite_calculer_cite($val, $fields[$champ]); + } // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci - $values = array_map('spip_sqlite_quote', $couples); - $values = _sqlite_ajouter_champs_timestamp($table, $couples, '', $serveur); + $couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur); return spip_sqlite_query("REPLACE INTO $table (" . join(',',array_keys($couples)) . ') VALUES (' .join(',',$couples) . ')', $serveur); } @@ -1314,7 +1321,7 @@ class sqlite_traiter_requete{ // faire le tracage si demande function executer_requete(){ $t = $this->tracer ? trace_query_start(): 0; - //echo("<br /><b>executer_requete() $this->serveur >></b> $this->query"); // boum ? pourquoi ? +// echo("<br /><b>executer_requete() $this->serveur >></b> $this->query"); // boum ? pourquoi ? if ($this->link){ if ($this->sqlite_version == 3) { $r = $this->link->query($this->query); @@ -1337,7 +1344,6 @@ class sqlite_traiter_requete{ } else { $r = false; } - if (!$r && $e = spip_sqlite_errno($this->serveur)) // Log de l'erreur eventuelle $e .= spip_sqlite_error($this->query, $this->serveur); // et du fautif -- GitLab