begin process at 2012 05 31 15:07:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Restauration BBD ne fonctionne pas


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Restauration BBD ne fonctionne pas

vendredi 18 janvier 2008 à 10:35:29 | Restauration BBD ne fonctionne pas

LiTtLeBuBu

Bonjour,

Voila j'ai récupérer un script sur le site pour sauvegarder ma BDD. J'ai modifié le script pour enlever les fonctions envoi par mail et FTP. J'ai aussi modifier $sql_header pour y rajouter des infos style phpmyadmin.

Les sauvgardes fonctionnent mais pas leur restauration.
#1064 - Erreur de syntaxe pr?s de 'CREATE TABLE `referer` (
  `id` smallint(4) NOT NULL auto_inc' ? la ligne 21

Voici le script:

// DUMP SQL
function saveDB($mysql_array = array()){

$mysql_host = $mysql_array[0];
$mysql_user = $mysql_array[1];
$mysql_password = $mysql_array[2];

error_reporting(0);
$err_msg = '';
$maxinsert = 500;

if (!empty($mail_array)){
$mail = $mail_array[0];
$attachement = $mail_array[1];
}

if(!$link = mysql_connect($mysql_host,$mysql_user,$mysql_password))
$err_msg .= 'Impossible de se connecter à '.$mysql_host."\n";
else{
$testfile = 'backup_sql/'.uniqid(mt_rand()).'.tmp';
if (!$handle = fopen($testfile,'w'))
$err_msg .= 'Impossible d\'ouvrir un fichier en écriture dans le répertoire "backup_sql/"'."\n";
else
fclose($handle);

if (file_exists($testfile)) unlink($testfile);

if ($err_msg == ''){
$db_list = mysql_list_dbs($link);
$names = array();

while ($row = mysql_fetch_object($db_list)) {
if ($row->Database != 'information_schema'){
$q = 'SHOW CREATE DATABASE `'.($row->Database).'`';
$r = mysql_query($q);

while ($s=mysql_fetch_object($r)){
$filename = 'BackupSQL_'.($row->Database).'_'.date('d-m-Y').'.sql';
$names[] = $filename;
if (!$handle = fopen('backup_sql/'.$filename, 'w'))
$err_msg .= 'Impossible d\'ouvrir en écriture le fichier sql de '.($row->Database)."\n";
else{

$sql_header .= '# SQL Dump par script PHP'."\n";
$sql_header .= '# http://www.******.com'."\n";
$sql_header .= '#'."\n";
$sql_header .= '# Serveur: sql.*****.fr'."\n";
$sql_header .= '# Généré le '.date('d-m-Y à H:i:s').''."\n";
$sql_header .= '# Version du serveur PHP: '.phpversion().''."\n";
$sql_header .= '# Version de Mysql: '.mysql_get_server_info().''."\n";
$sql_header .= '#'."\n";
$sql_header .= '# Base de données: `'.($row->Database).'`'."\n";
$sql_header .= '#'."\n";
$sql_header .= '#'."\n\n";
$sql_header .= $s->{'Create Database'}.";\n\n";

if (fwrite($handle, $sql_header) === FALSE)
$err_msg .= 'Impossible d\'écrire dans le fichier sql de '.($row->Database)."\n";
else{
mysql_select_db($row->Database, $link);

$q3 = 'SHOW TABLES';
$r3 = mysql_query($q3);

while ($s3 = mysql_fetch_object($r3)){
$table = $s3->{'Tables_in_'.($row->Database)};
$q4 = 'SHOW CREATE TABLE `'.$table.'`;';
$r4 = mysql_query($q4);

while ($s4 = mysql_fetch_object($r4)){
$sql_export = '';
$sql_export .= '# ---------------------------------------------------'."\n\n";
$sql_export .= '#'."\n";
$sql_export .= '# Structure de la table `'.$table.'`'."\n";
$sql_export .= '#'."\n\n";
$sql_export .= $s4->{'Create Table'}."\n\n";

$q5 = 'SELECT * FROM `'.$table.'`;';
$r5 = mysql_query($q5);

$slashes = array();
    $nbfields = mysql_num_fields($r5);
for($i=0; $i < $nbfields; $i++)
if (in_array(mysql_field_type($r5, $i), array('string','blob')))
$slashes[$i] = '\'';

$count = 0;

while($s5 = mysql_fetch_array($r5)){
$count++;

$sql_export .= '#'."\n";
$sql_export .= '# Contenu de la table `'.$table.'`'."\n";
$sql_export .= '#'."\n\n";

$sql_export .= 'INSERT INTO `'.$table.'` VALUES(';
$sql_export .= $slashes[0].mysql_real_escape_string($s5[0]).$slashes[0];
for($i=1; $i < $nbfields; $i++)
$sql_export .= ', '.$slashes[$i].mysql_real_escape_string($s5[$i]).$slashes[$i];

$sql_export .=  ");\n";

if($count == $maxinsert){
if (fwrite($handle, $sql_export) === FALSE){
$err_msg .= 'Erreur d\'exportation avec la '.$table.' de la base '.($row->Database)."\n";

}
else
$sql_export = '';
}
}
$sql_export .= "\n";


if (fwrite($handle, $sql_export) === FALSE)
$err_msg .= 'Erreur d\'exportation avec la '.$table.' de la base '.($row->Database)."\n";
}
}
}
fclose($handle);
}
}
}
}
}
}
}

$mysql_data = array(SERVEUR,NAME,PASS);

MERCI et @+
vendredi 18 janvier 2008 à 10:53:28 | Re : Restauration BBD ne fonctionne pas

malik7934

1. Ouvre ton fichier et regarde la tête de la table `referer`
2. Vas dans phpmyadmin et fais un SHOW CREATE TABLE `referer`
3. Compare les 2

*****
noisy communication - wherever, be everywhere!

vendredi 18 janvier 2008 à 11:11:45 | Re : Restauration BBD ne fonctionne pas

LiTtLeBuBu

Phpmyadmin:
CREATE TABLE `referer` (\n  `id` smallint(4) NOT NULL auto_increment,\n

Script:
'CREATE TABLE `referer` (   `id` smallint(4) NOT NULL auto_increment,

Voic les différences les \n
vendredi 18 janvier 2008 à 22:03:42 | Re : Restauration BBD ne fonctionne pas

LiTtLeBuBu

Pas d'infos du pourquoi et du comment ???
samedi 19 janvier 2008 à 11:32:14 | Re : Restauration BBD ne fonctionne pas

malik7934

les \n ne changent rien, le problème est ailleurs...

*****
noisy communication - wherever, be everywhere!

lundi 21 janvier 2008 à 12:10:34 | Re : Restauration BBD ne fonctionne pas

codefalse

Administrateur CodeS-SourceS
est-ce que tu insère plusieures tables ?
Si tu fait une requete de création de plusieurs tables sur la meme requete, en php avec mysql_query, ca passe pas, c'est ptete ca ?
Il faut découper chaques requetes en plusieures requetes et non plusieurs séparées par des ;
lundi 21 janvier 2008 à 12:41:59 | Re : Restauration BBD ne fonctionne pas

LiTtLeBuBu

Je bute et ne trouve pas le soucis !
lundi 21 janvier 2008 à 12:45:55 | Re : Restauration BBD ne fonctionne pas

codefalse

Administrateur CodeS-SourceS
la requete qui plante, c'est juste UN seul insert ? ou c'est PLUSIEURS insert ?
lundi 21 janvier 2008 à 13:04:06 | Re : Restauration BBD ne fonctionne pas

LiTtLeBuBu

Ca plante dès la permière requête.

lundi 21 janvier 2008 à 13:52:13 | Re : Restauration BBD ne fonctionne pas

codefalse

Administrateur CodeS-SourceS
mais ce que je veux dire, c'est s'il tu fait plusieurs requetes d'un coup, genre

mysql_query ("create....; create....;create....");
ou si tu fait
mysql_query ("create.....;");
mysql_query ("create ....;");
mysql_query ("create ....;");

Car la premiere méthode ne marche pas avec la fonction mysql_query !

1 2

Cette discussion est classée dans : mysql, sql, export, header, array


Répondre à ce message

Sujets en rapport avec ce message

Je narive pas a faire marcher mé Header je n'est rien compris [ par timolerigolo ] Bonjour ou Bonsoir,Voila j'ai des formulaire avec des page Verif et j'aimeré faire une redirection avec un Header mé sa ne marche pas...voila un bouh Array & MySQl [ par boulika ] BonjourJe dois faire une petit programme avec des données de mysql :je dois récupérer des infos d'une base de données mais de deux tables :$db = mysql fonction sql avec retour de valeur mensuelle [ par gabs77 ] bonjour, je cherche a faire une fonction sql en php qui me retournerai le nb de fois qu'apparait une donnée dans une table sur un etendue de moiscad q Pb Warning: mysql_fetch_array(): supplied argument [ par biddal ] Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sdb/3/a/rallyesconcept/rallyes-concept/menu/derouleme Problème affichage [ par ChucklaPuck ] Bonjour,J'ai présentement une base de donnée qui comporte plusieurs champs, dont 1 qui est idNouvelle qui a comme attribut auto_increment...Dans une d parse error [ par Bartheleway ] Voilà, je vous donne ma source. J'ai apparament un problème de programmation !!!  <meta content="text/html; cha Prolème chez online [ par programmationniste ] Salut tout le monde,je viens de terminer les tests chez moi de mon site, et en montant le tout sur mon hébergeur, la commuication entre la base et l'a erreur sql que je n'arrive pas a resoudre [ par jimmypage64 ] Voici l'erreur que me renvoie mySql :Erreur SQL !UPDATE Topics SET CptSuj='1', CptPost='2',DateDerPost='10/05/2006', HeureDerPost='11:55', AutDerPost= Requetes MySQL en SQL? [ par spyro666 ] Bonjour, je travaille en ce moment sur un projet de gestion d'erreurs que je développe avec MySQL, seulement le système ou il va tourner plus tard n'a resultat mysql dans array recursif [ par abys ] bonjour,je souhaite faire un moteur de recherche avec des categories et des sous ccategories (infini)ma table mysql :id_categid_parentlibelle...mon pb


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales