Bonjour !!

J'essais de faire une partie restauration de la base de données dans un site web et pour cela, je supprime toutes les base de données existantes, ensuite je récupère un fichier sql qui contient mes requêtes et je l'exécute grâce à ce script trouvé sur ce même forum (je ne sais plus trop ou...).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
//Connexion à la base de données
$connexion = mysql_connect($_POST['new_hote'], $_POST['new_login'], $_POST['new_password']);
mysql_select_db($_POST['new_base'], $connexion);
 
$requetes="";
 
$sql=file("../temp/".$fichier_sql); // on charge le fichier SQL
foreach($sql as $l)
{ // on le lit
	if (substr(trim($l),0,2)!="--"){ // suppression des commentaires
		$requetes .= $l;
	}
}
 
$reqs = split(";",$requetes);// on sépare les requêtes
foreach($reqs as $req){	// et on les éxécute
	if (!mysql_query($req,$connexion) && trim($req)!=""){
		die("ERROR : ".$req); // stop si erreur
	}
}
Malheureusement, il sépare chaque requête à l'aide du ; et il se peut que dans INSERT INTO on retrouve des valeurs comme é. Ca ne fonctionne alors plus du tout.

Je ne sais pas comment me sortir de ce problème....