From 5aa1852aa55ff5c2c0017a4b9cbda6a9019b3417 Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Thu, 2 Sep 2010 08:34:20 +0000
Subject: [PATCH] Report de [16009].

---
 ecrire/req/mysql.php            | 6 +++++-
 ecrire/req/pg.php               | 4 +++-
 ecrire/req/sqlite_generique.php | 5 ++---
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/ecrire/req/mysql.php b/ecrire/req/mysql.php
index 6f8e4f6e67..cd05263245 100644
--- a/ecrire/req/mysql.php
+++ b/ecrire/req/mysql.php
@@ -554,12 +554,15 @@ function spip_mysql_insert($table, $champs, $valeurs, $desc='', $serveur='',$req
 
 	if ($prefixe) $table = preg_replace('/^spip/', $prefixe, $table);
 
+	$query ="INSERT INTO $table $champs VALUES $valeurs";
+	if (!$requeter) return $query;
+	
 	if (isset($_GET['var_profile'])) {
 		include_spip('public/tracer');
 		$t = trace_query_start();
 	} else $t = 0 ;
  
-	$connexion['last'] = $query ="INSERT INTO $table $champs VALUES $valeurs";
+	$connexion['last'] = $query;
 #	spip_log($query);
 	if (mysql_query($query, $link))
 		$r = mysql_insert_id($link);
@@ -650,6 +653,7 @@ function spip_mysql_delete($table, $where='', $serveur='',$requeter=true) {
 			  calculer_mysql_expression('DELETE FROM', $table, ',')
 			. calculer_mysql_expression('WHERE', $where),
 			$serveur, $requeter);
+	if (!$requeter) return $res;
 	if ($res){
 		$link = $GLOBALS['connexions'][$serveur ? $serveur : 0]['link'];
 		return $link ? mysql_affected_rows($link) : mysql_affected_rows();
diff --git a/ecrire/req/pg.php b/ecrire/req/pg.php
index 701e41d1a7..434f95092e 100644
--- a/ecrire/req/pg.php
+++ b/ecrire/req/pg.php
@@ -767,7 +767,9 @@ function spip_pg_insert($table, $champs, $valeurs, $desc=array(), $serveur='',$r
 	$ins = (strlen($champs)<3)
 	  ? " DEFAULT VALUES"
 	  : "$champs VALUES $valeurs";
-	$connexion['last'] = $q ="INSERT INTO $table $ins $ret";
+	$q ="INSERT INTO $table $ins $ret";
+	if (!$requeter) return $q;
+	$connexion['last'] = $q;
 	$r = spip_pg_query_simple($link, $q);
 #	spip_log($q);
 	if ($r) {
diff --git a/ecrire/req/sqlite_generique.php b/ecrire/req/sqlite_generique.php
index 825f25945c..7823403c06 100644
--- a/ecrire/req/sqlite_generique.php
+++ b/ecrire/req/sqlite_generique.php
@@ -725,9 +725,8 @@ function spip_sqlite_insert($table, $champs, $valeurs, $desc='', $serveur='',$re
  
 	$query="INSERT OR REPLACE INTO $table $champs VALUES $valeurs";
 	
-	
-	if ($r = spip_sqlite_query($query, $serveur)) {
-		if (!$requeter) return $query;
+	if ($r = spip_sqlite_query($query, $serveur, $requeter)) {
+		if (!$requeter) return $r;	
 		
 		if (_sqlite_is_version(3, $sqlite)) $nb = $sqlite->lastInsertId();
 		else $nb = sqlite_last_insert_rowid($sqlite);
-- 
GitLab