diff --git a/ecrire/base/connect_sql.php b/ecrire/base/connect_sql.php index 9417bf8907804da6dbfccec99348721fd58fa09d..4335087bd44c51174a71243dfcdd4630148a56e3 100644 --- a/ecrire/base/connect_sql.php +++ b/ecrire/base/connect_sql.php @@ -116,10 +116,10 @@ function spip_sql_erreur($serveur='') { $connexion = spip_connect($serveur); $e = sql_errno($serveur); - $m = sql_error($serveur) . ' (' . $e . ') ' . $connexion['last']; - $f = (isset($connexion['type']) ? $connexion['type'] : 'sql') . $serveur; + $t = (isset($connexion['type']) ? $connexion['type'] : 'sql'); + $m = "Erreur $e de $t: " . sql_error($serveur) . "\n" . $connexion['last']; + $f = $t . $serveur; spip_log($m, $f); - spip_log("Erreur $e de $f, voir ses Log"); } // Cette fonction ne doit etre appelee qu'a travers la fonction sql_serveur diff --git a/ecrire/base/create.php b/ecrire/base/create.php index c74df1591d234f6c854797af965e5f524c4fcf67..7b41d669b9ac52aedf6fe01d607beb7f0cf717c5 100644 --- a/ecrire/base/create.php +++ b/ecrire/base/create.php @@ -21,12 +21,9 @@ include_spip('base/abstract_sql'); // http://doc.spip.org/@creer_ou_upgrader_table function creer_ou_upgrader_table($table,$desc,$autoinc,$upgrade=false,$serveur='') { - static $fcreate = null; - if (!$fcreate) $fcreate = sql_serveur('create', $serveur); - $sql_desc = sql_showtable($table,true,$serveur); if (!$upgrade OR !$sql_desc) - $fcreate($table, $desc['field'], $desc['key'], $autoinc, false, $serveur); + sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur); else { // ajouter les champs manquants $last = ''; @@ -69,9 +66,7 @@ function maj_tables($upgrade_tables=array(),$serveur=''){ // http://doc.spip.org/@creer_base_types_doc function creer_base_types_doc($serveur='') { global $tables_images, $tables_sequences, $tables_documents, $tables_mime; - // Init ou Re-init ==> replace pas insert - $freplace = sql_serveur('replace', $serveur); foreach ($tables_mime as $extension => $type_mime) { if (isset($tables_images[$extension])) { $titre = $tables_images[$extension]; @@ -88,8 +83,8 @@ function creer_base_types_doc($serveur='') { else $titre = ''; } - - $freplace('spip_types_documents', + // Init ou Re-init ==> replace pas insert + sql_replace('spip_types_documents', array('mime_type' => $type_mime, 'titre' => $titre, 'inclus' => $inclus, diff --git a/ecrire/install/etape_3.php b/ecrire/install/etape_3.php index f30e3c4168e41939a83158e99e1789087ded03a6..112b8edac76e163318ffb60a3fa0a4443e23310d 100644 --- a/ecrire/install/etape_3.php +++ b/ecrire/install/etape_3.php @@ -41,11 +41,10 @@ function install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $server_db .'_functions_' . $GLOBALS['spip_sql_version']]; - $fquery = sql_serveur('query', $server_db); if ($choix_db == "new_spip") { $re = ',^[a-z_][a-z_0-9-]*$,i'; if (preg_match($re, $sel_db)) - $fquery("CREATE DATABASE `$sel_db`", $server_db); + sql_query("CREATE DATABASE `$sel_db`", $server_db); else { $re = "Le nom de la base doit correspondre a $re"; spip_log($re); @@ -121,26 +120,24 @@ function install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, // pour recreer les tables disparues au besoin spip_log("Table des Meta deja la. Verification des autres."); creer_base($server_db); - $fupdateq = sql_serveur('updateq', $server_db); - $r = $fquery("SELECT valeur FROM spip_meta WHERE nom='version_installee'", $server_db); + $r = sql_getfetsel('valeur', 'spip_meta', "nom='version_installee'", '','','','', $server_db); - if ($r) $r = sql_fetch($r, $server_db); - $version_installee = !$r ? 0 : (double) $r['valeur']; + $version_installee = !$r ? 0 : (double) $r; if (!$version_installee OR ($spip_version_base < $version_installee)) { - $fupdateq('spip_meta', array('valeur'=>$spip_version_base, 'impt'=>'non'), "nom='version_installee'", $server_db); + sql_updateq('spip_meta', array('valeur'=>$spip_version_base, 'impt'=>'non'), "nom='version_installee'", $server_db); spip_log("nouvelle version installee: $spip_version_base"); } // eliminer la derniere operation d'admin mal terminee // notamment la mise a jour - @$fquery("DELETE FROM spip_meta WHERE nom='import_all' OR nom='admin'", $server_db); + sql_query("DELETE FROM spip_meta WHERE nom='import_all' OR nom='admin'", $server_db); } $ligne_rappel = ($server_db != 'mysql') ? '' : (test_rappel_nom_base_mysql($server_db) .test_sql_mode_mysql($server_db) ); - $result_ok = @$fquery("SELECT COUNT(*) FROM spip_meta", $server_db); + $result_ok = sql_query("SELECT COUNT(*) FROM spip_meta", $server_db); if (!$result_ok) return "<!--\nvielle = $old rappel= $ligne_rappel\n-->"; if ($chmod_db) { diff --git a/ecrire/maj/vieille_base/create.php b/ecrire/maj/vieille_base/create.php index 2f6b336f8790e0158efe6fa8eaccf66429e02729..361c3374a5ad0cc1a2142509bfff5cf32e76c26b 100644 --- a/ecrire/maj/vieille_base/create.php +++ b/ecrire/maj/vieille_base/create.php @@ -14,11 +14,9 @@ if (!defined("_ECRIRE_INC_VERSION")) return; $serveur_vieille_base =0; -function spip_create_vieille_table($table,$fields,$keys,$autoinc){ - static $fcreate = null; +function spip_create_vieille_table($table,$fields,$keys,$autoinc){ $serveur = $GLOBALS['serveur_vieille_base']; - if (!$fcreate) $fcreate = sql_serveur('create', $serveur); - $fcreate($table,$fields,$keys,$autoinc,false,$serveur); + sql_create($table,$fields,$keys,$autoinc,false,$serveur); } function maj_vieille_base_create_dist($version_cible){ diff --git a/ecrire/req/mysql.php b/ecrire/req/mysql.php index 8e7c8449df2ae2dc76835c8d70b4aad062cb3405..ca7f42887d9fc8f44872ac5d0fc89cfa1965dee7 100644 --- a/ecrire/req/mysql.php +++ b/ecrire/req/mysql.php @@ -630,8 +630,7 @@ function spip_mysql_updateq($table, $champs, $where='', $desc=array(), $serveur= if (!$champs) return; if (!$desc) $desc = description_table($table); - if (!$desc) die("$table insertion sans description"); - $fields = $desc['field']; + if (!$desc) $champs = array(); else $fields = $desc['field']; $set = array(); foreach ($champs as $champ => $val) { $set[] = $champ . '=' . spip_mysql_cite($val, $fields[$champ]);