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...).
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.
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 } }
Je ne sais pas comment me sortir de ce problème....
Partager