Skip to content
Extraits de code Groupes Projets
Valider 340af9b7 rédigé par esj's avatar esj
Parcourir les fichiers

Erreurs SQL, suite de [14529]: encore quelques erreurs non signalées, et d'autres signalées 2 fois.

parent 19f7c5ac
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -116,10 +116,10 @@ function spip_sql_erreur($serveur='') ...@@ -116,10 +116,10 @@ function spip_sql_erreur($serveur='')
{ {
$connexion = spip_connect($serveur); $connexion = spip_connect($serveur);
$e = sql_errno($serveur); $e = sql_errno($serveur);
$m = sql_error($serveur) . ' (' . $e . ') ' . $connexion['last']; $t = (isset($connexion['type']) ? $connexion['type'] : 'sql');
$f = (isset($connexion['type']) ? $connexion['type'] : 'sql') . $serveur; $m = "Erreur $e de $t: " . sql_error($serveur) . "\n" . $connexion['last'];
$f = $t . $serveur;
spip_log($m, $f); 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 // Cette fonction ne doit etre appelee qu'a travers la fonction sql_serveur
......
...@@ -21,12 +21,9 @@ include_spip('base/abstract_sql'); ...@@ -21,12 +21,9 @@ include_spip('base/abstract_sql');
// http://doc.spip.org/@creer_ou_upgrader_table // http://doc.spip.org/@creer_ou_upgrader_table
function creer_ou_upgrader_table($table,$desc,$autoinc,$upgrade=false,$serveur='') { 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); $sql_desc = sql_showtable($table,true,$serveur);
if (!$upgrade OR !$sql_desc) 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 { else {
// ajouter les champs manquants // ajouter les champs manquants
$last = ''; $last = '';
...@@ -69,9 +66,7 @@ function maj_tables($upgrade_tables=array(),$serveur=''){ ...@@ -69,9 +66,7 @@ function maj_tables($upgrade_tables=array(),$serveur=''){
// http://doc.spip.org/@creer_base_types_doc // http://doc.spip.org/@creer_base_types_doc
function creer_base_types_doc($serveur='') { function creer_base_types_doc($serveur='') {
global $tables_images, $tables_sequences, $tables_documents, $tables_mime; 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) { foreach ($tables_mime as $extension => $type_mime) {
if (isset($tables_images[$extension])) { if (isset($tables_images[$extension])) {
$titre = $tables_images[$extension]; $titre = $tables_images[$extension];
...@@ -88,8 +83,8 @@ function creer_base_types_doc($serveur='') { ...@@ -88,8 +83,8 @@ function creer_base_types_doc($serveur='') {
else else
$titre = ''; $titre = '';
} }
// Init ou Re-init ==> replace pas insert
$freplace('spip_types_documents', sql_replace('spip_types_documents',
array('mime_type' => $type_mime, array('mime_type' => $type_mime,
'titre' => $titre, 'titre' => $titre,
'inclus' => $inclus, 'inclus' => $inclus,
......
...@@ -41,11 +41,10 @@ function install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, ...@@ -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['connexions'][$server_db][$GLOBALS['spip_sql_version']]
= $GLOBALS['spip_' . $server_db .'_functions_' . $GLOBALS['spip_sql_version']]; = $GLOBALS['spip_' . $server_db .'_functions_' . $GLOBALS['spip_sql_version']];
$fquery = sql_serveur('query', $server_db);
if ($choix_db == "new_spip") { if ($choix_db == "new_spip") {
$re = ',^[a-z_][a-z_0-9-]*$,i'; $re = ',^[a-z_][a-z_0-9-]*$,i';
if (preg_match($re, $sel_db)) if (preg_match($re, $sel_db))
$fquery("CREATE DATABASE `$sel_db`", $server_db); sql_query("CREATE DATABASE `$sel_db`", $server_db);
else { else {
$re = "Le nom de la base doit correspondre a $re"; $re = "Le nom de la base doit correspondre a $re";
spip_log($re); spip_log($re);
...@@ -121,26 +120,24 @@ function install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, ...@@ -121,26 +120,24 @@ function install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db,
// pour recreer les tables disparues au besoin // pour recreer les tables disparues au besoin
spip_log("Table des Meta deja la. Verification des autres."); spip_log("Table des Meta deja la. Verification des autres.");
creer_base($server_db); 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;
$version_installee = !$r ? 0 : (double) $r['valeur'];
if (!$version_installee OR ($spip_version_base < $version_installee)) { 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"); spip_log("nouvelle version installee: $spip_version_base");
} }
// eliminer la derniere operation d'admin mal terminee // eliminer la derniere operation d'admin mal terminee
// notamment la mise a jour // 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') ? '' $ligne_rappel = ($server_db != 'mysql') ? ''
: (test_rappel_nom_base_mysql($server_db) : (test_rappel_nom_base_mysql($server_db)
.test_sql_mode_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 (!$result_ok) return "<!--\nvielle = $old rappel= $ligne_rappel\n-->";
if ($chmod_db) { if ($chmod_db) {
......
...@@ -14,11 +14,9 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -14,11 +14,9 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
$serveur_vieille_base =0; $serveur_vieille_base =0;
function spip_create_vieille_table($table,$fields,$keys,$autoinc){ function spip_create_vieille_table($table,$fields,$keys,$autoinc){
static $fcreate = null;
$serveur = $GLOBALS['serveur_vieille_base']; $serveur = $GLOBALS['serveur_vieille_base'];
if (!$fcreate) $fcreate = sql_serveur('create', $serveur); sql_create($table,$fields,$keys,$autoinc,false,$serveur);
$fcreate($table,$fields,$keys,$autoinc,false,$serveur);
} }
function maj_vieille_base_create_dist($version_cible){ function maj_vieille_base_create_dist($version_cible){
......
...@@ -630,8 +630,7 @@ function spip_mysql_updateq($table, $champs, $where='', $desc=array(), $serveur= ...@@ -630,8 +630,7 @@ function spip_mysql_updateq($table, $champs, $where='', $desc=array(), $serveur=
if (!$champs) return; if (!$champs) return;
if (!$desc) $desc = description_table($table); if (!$desc) $desc = description_table($table);
if (!$desc) die("$table insertion sans description"); if (!$desc) $champs = array(); else $fields = $desc['field'];
$fields = $desc['field'];
$set = array(); $set = array();
foreach ($champs as $champ => $val) { foreach ($champs as $champ => $val) {
$set[] = $champ . '=' . spip_mysql_cite($val, $fields[$champ]); $set[] = $champ . '=' . spip_mysql_cite($val, $fields[$champ]);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter