diff --git a/ecrire/base/db_mysql.php b/ecrire/base/db_mysql.php
index 257b6c39a8e12e3ad322fd0b9fd318eb820ffe71..5102ebfe74d0cdbbb16d56d3e762da5d541e1fcd 100644
--- a/ecrire/base/db_mysql.php
+++ b/ecrire/base/db_mysql.php
@@ -293,6 +293,10 @@ function spip_release_lock($nom) {
 	spip_query("SELECT RELEASE_LOCK('$nom')");
 }
 
+function spip_mysql_version() {
+	$row = spip_fetch_array(spip_query("SELECT version() AS n"));
+	return ($row['n']);
+}
 
 //
 // IN (...) est limite a 255 elements, d'ou cette fonction assistante
diff --git a/ecrire/exec/admin_repair.php b/ecrire/exec/admin_repair.php
index 480a4890ab60ba3eea8d008b37f0d699456b3eb3..520a3e32615af93ff2ac4b495c8a6eaeab2baad5 100644
--- a/ecrire/exec/admin_repair.php
+++ b/ecrire/exec/admin_repair.php
@@ -26,22 +26,21 @@ include_spip('inc/admin');
 include_spip('inc/texte');
 include_spip('inc/minipres');
 
-
 function verifier_base() {
-	if (! $res1= spip_query("SHOW TABLES"))
-		return false;
+	$res1= spip_query("SHOW TABLES");
+	if (!$res1) return false;
 
 	$res = "";
 	while ($tab = spip_fetch_array($res1)) {
 		$res .= "<p><b>".$tab[0]."</b> ";
 
-		if (!($result_repair = spip_query("REPAIR TABLE ".$tab[0])))
-			return false;
+		$result_repair = spip_query("REPAIR TABLE ".$tab[0]);
+		if (!$result_repair) return false;
 
-		if (!($result = spip_query("SELECT COUNT(*) FROM ".$tab[0])))
-			return false;
+		$result = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM ".$tab[0]));
+		if (!$result) return false;
 
-		list($count) = spip_fetch_array($result);
+		$count = $result['n'];
 		if ($count>1)
 			$res .= "("._T('texte_compte_elements', array('count' => $count)).")\n";
 		else if ($count==1)
@@ -64,35 +63,30 @@ function verifier_base() {
 
 function exec_admin_repair_dist()
 {
-
-// verifier version MySQL
-if (! $res1= spip_query("SELECT version()"))
-	$message = _T('avis_erreur_connexion_mysql');
-else {
-	$tab = spip_fetch_array($res1);
-	$version_mysql = $tab[0];
-	if ($version_mysql < '3.23.14')
-		$message = _T('avis_version_mysql', array('version_mysql' => $version_mysql));
+	$version_mysql = spip_mysql_version();
+	if (!$version_mysql)
+	  $message = _T('avis_erreur_connexion_mysql');
 	else {
-		$message = _T('texte_requetes_echouent');
-		$ok = true;
+	  if ($version_mysql < '3.23.14')
+	    $message = _T('avis_version_mysql', array('version_mysql' => $version_mysql));
+	  else {
+	    $message = _T('texte_requetes_echouent');
+	    $ok = true;
+	  }
 	}
-}
 
-$action = _T('texte_tenter_reparation');
+	$action = _T('texte_tenter_reparation');
 
-if ($ok) {
-	debut_admin(generer_url_post_ecrire("admin_repair"), $action, $message);
-
-	if (! $res = verifier_base())
-	  $res = "<br><br><font color='red'><b><tt>"._T('avis_erreur_mysql').' '.spip_sql_errno().': '.spip_sql_error() ."</tt></b></font><br /><br /><br />\n";
-	fin_admin($action);
-	minipres(_T('texte_tentative_recuperation'), $res);
-}
-else {
-	minipres(_T('titre_reparation'), "<p>$message</p>");
-}
+	if ($ok) {
+		debut_admin(generer_url_post_ecrire("admin_repair"), $action, $message);
 
+		if (! $res = verifier_base())
+			$res = "<br><br><font color='red'><b><tt>"._T('avis_erreur_mysql').' '.spip_sql_errno().': '.spip_sql_error() ."</tt></b></font><br /><br /><br />\n";
+		fin_admin($action);
+		minipres(_T('texte_tentative_recuperation'), $res);
+	}
+	else {
+	  minipres(_T('titre_reparation'), "<p>$message</p>");
+	}
 }
-
 ?>
diff --git a/ecrire/exec/admin_tech.php b/ecrire/exec/admin_tech.php
index a56f5a9b53f377066d0a8e041ca30cbc3b691f94..5d5248b0b9dd151ae704fef944847bb35fca6bc7 100644
--- a/ecrire/exec/admin_tech.php
+++ b/ecrire/exec/admin_tech.php
@@ -116,8 +116,8 @@ echo	"<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=8 WIDTH=\"100%\">",
 //
 
 if ($options == "avancees") {
-	$res = spip_query("SELECT version()");
-	if (($row = spip_fetch_array($res)) AND ($row[0] >= '3.23.14')) {
+	$res = spip_mysql_version();
+	if ($res >= '3.23.14') {
 		echo "<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=8 WIDTH=\"100%\">";
 		echo "<TR><TD BGCOLOR='#EEEECC' BACKGROUND=''><B>";
 		echo "<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=3 COLOR='#000000'>";
diff --git a/ecrire/inc/distant.php b/ecrire/inc/distant.php
index 1253a6386894c3f4c1dd154f0933b8c0a40c659f..4c45732016ce2ed4474d453ad081e7abed97d9de 100644
--- a/ecrire/inc/distant.php
+++ b/ecrire/inc/distant.php
@@ -40,8 +40,8 @@ function copie_locale($source, $mode='auto') {
 				ecrire_fichier($local, $contenu);
 
 				// signaler au moteur de recherche qu'il peut reindexer ce doc
-				$a = spip_query("SELECT id_document FROM spip_documents WHERE fichier='".addslashes($source)."'");
-				list($id_document) = spip_fetch_array($a);
+				$id_document = spip_fetch_array(spip_query("SELECT id_document FROM spip_documents WHERE fichier='".addslashes($source)."'"));
+				$id_document = $id_document['id_document'];
 				if ($id_document) {
 					include_spip('inc/indexation');
 					marquer_indexer('document', $id_document);
diff --git a/ecrire/inc/forum.php b/ecrire/inc/forum.php
index 3e9ba1f86b511943fe552c297f4f3737352d00b6..26d245268508836fc274e31838ab75a28e490dc7 100644
--- a/ecrire/inc/forum.php
+++ b/ecrire/inc/forum.php
@@ -157,14 +157,14 @@ function calculer_threads() {
 		$discussion = "0";
 		$precedent = 0;
 		$r = spip_query("SELECT fille.id_forum AS id,	maman.id_thread AS thread	FROM spip_forum AS fille, spip_forum AS maman	WHERE fille.id_parent = maman.id_forum AND fille.id_thread <> maman.id_thread	ORDER BY thread");
-		while (list($id, $thread) = spip_fetch_array($r)) {
-			if ($thread == $precedent)
-				$discussion .= ",$id";
+		while ($row = spip_fetch_array($r)) {
+			if ($row['thread'] == $precedent)
+				$discussion .= "," . $row['id'];
 			else {
 				if ($precedent)
 					spip_query("UPDATE spip_forum SET id_thread=$precedent WHERE id_forum IN ($discussion)");
-				$precedent = $thread;
-				$discussion = "$id";
+				$precedent = $row['thread'];
+				$discussion = $row['id'];
 			}
 		}
 		spip_query("UPDATE spip_forum SET id_thread=$precedent	WHERE id_forum IN ($discussion)");
diff --git a/ecrire/inc/import.php b/ecrire/inc/import.php
index a62c9b4f3752fe61c8c947f07a2bd996cb543f0b..f70a48a8d958d4d7814658c6682cf8c7c96904f5 100644
--- a/ecrire/inc/import.php
+++ b/ecrire/inc/import.php
@@ -342,8 +342,8 @@ function import_tables($f, $tables, $gz=false) {
 	include_spip('inc/meta');
 	lire_metas();
 
-	$s = spip_query("SELECT UNIX_TIMESTAMP(maj) AS d FROM spip_meta WHERE nom='debut_restauration'");
-	list($my_date) = spip_fetch_array($s);
+	$s = spip_fetch_array(spip_query("SELECT UNIX_TIMESTAMP(maj) AS d FROM spip_meta WHERE nom='debut_restauration'"));
+	$my_date = $s['d'];
 
 	if (!$my_date) {
 		spip_log("importation: debut_restauration absent");
diff --git a/ecrire/inc/sites_voir.php b/ecrire/inc/sites_voir.php
index 8928e95b7276d02904eda80b77a981d8b8fdc997..04accc2f9cf04422f3c390ca20ea6a91eb1893f2 100644
--- a/ecrire/inc/sites_voir.php
+++ b/ecrire/inc/sites_voir.php
@@ -123,13 +123,12 @@ function afficher_sites($titre_table, $requete) {
 				$vals[] = $s;
 			//echo "</td>";					
 			//echo "<td class='arial1'>";
-			$s = "";
+
 			if ($syndication == "oui" OR $syndication == "off" OR $syndication == "sus") {
-				$result_art = spip_query("SELECT COUNT(*) FROM spip_syndic_articles WHERE id_syndic='$id_syndic'");
-				list($total_art) = spip_fetch_array($result_art);
-				$s .= " $total_art "._T('info_syndication_articles');
+				$total_art = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_syndic_articles WHERE id_syndic='$id_syndic'"));
+				$s = " " . $total_art['n'] . " " . _T('info_syndication_articles');
 			} else {
-				$s .= "&nbsp;";
+				$s = "&nbsp;";
 			}
 			$vals[] = $s;
 			//echo "</td>";					
@@ -250,7 +249,7 @@ function afficher_syndic_articles($titre_table, $requete, $id = 0) {
 
 			// $my_sites cache les resultats des requetes sur les sites
 			if (!$my_sites[$id_syndic])
-				$my_sites[$id_syndic] = spip_fetch_array(spip_query("SELECT * FROM spip_syndic WHERE id_syndic=$id_syndic"));
+				$my_sites[$id_syndic] = spip_fetch_array(spip_query("SELECT nom_site, moderation, miroir FROM spip_syndic WHERE id_syndic=$id_syndic"));
 
 			if (!$id) {
 				$aff = $my_sites[$id_syndic]['nom_site'];