Bonjour,
Pour un site, je dois proposer une sauvegarde de la bd dans la partie admin du site, car il est difficile d'envoyer les utilisateurs sur phpmyadmin. En cherchant sur internet,je suis arrivé à ce script php :
J'obtiens bien un fichier de sauvegarde qui comprend pour chaque table drop, create puis insert into comme lorsque je fais une sauvegarde par phpmyadmin, mais insert into ne comporte pas les entêtes de colonnes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $host = 'lhost'; $username = 'utilisateur'; $psw = 'mot_de_passe'; $db = 'nom_database'; $username =escapeshellcmd($username); $psw =escapeshellcmd($psw); $host =escapeshellcmd($host); $db =escapeshellcmd($db); echo 'sauvegarde db '.$db.'<br>'; $fichier="chemin_repertoire/dump_".$db."_".date("d-m-Y-H-i-s").".sql"; $command = "mysqldump -u$username -p$psw -h$host $db > $fichier"; system($command, $result); echo $result;
INSERT INTO `articles` VALUES (7,3,'','',''
au lieu de
INSERT INTO `articles` (`id_article`, `id_rubrique`, `surtitre`...) VALUES(7,3,'','',''
et seulement un nombre limité de valeurs à insérer (1 enregistrement et une partie du second).
Grave pour faire une restauration.
Où est l'erreur ?
Merci
Partager