SAUVEGARDE D'UNE BASE DE DONNEES (MYSQL) AVEC CHOIX DES TABLES A SAUVEGARDER

cs_babid Messages postés 49 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 17 décembre 2008 - 2 févr. 2006 à 13:51
dad72 Messages postés 1 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 29 octobre 2007 - 29 oct. 2007 à 00:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35832-sauvegarde-d-une-base-de-donnees-mysql-avec-choix-des-tables-a-sauvegarder

dad72 Messages postés 1 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 29 octobre 2007
29 oct. 2007 à 00:39
bonjour,

j ai un petit souci, tout fonctionne tres bien mais j ai une erreur a l avant derniere fonction qui me dit:

Warning: fopen(DBsave/svg_prms.ini) [function.fopen]: failed to open stream: No such file or directory in /home.10.27/site/www/DBsave/svg.php on line 303

Erreur - Un fichier de configuration n'a pas pu être crée !

je comprend pas ce que sa veux dire, j ai placer le fichier : svg_prms.ini dans le dossier en me disant qu il ne pouvez pas l ouvrir mais rien a faire toujour la meme erreur.

la fonction c est celle ci :

function array2ini_file($array, $file)
{
$fp = fopen($file,"w")
or die(" Erreur - Un fichier de configuration n'a pas pu être crée ! ");
fwrite($fp, ";fichier automatique - ".basename($file)."\n");
while(list($key, $value) = each($array))
{
fwrite ($fp, "\n[".$key."]\n");
while(list($k, $v) = each($value))
fwrite($fp, $k." = ".$v."\n");
}
return(TRUE);
}

j ai bien le fichier sql qui vas sur le serveur dans ce meme dossier, mais par contre j ai pas de zip de creer.

bravo pour cette sources car moi je serais pas capable de coder tout sa

@+
Bince313 Messages postés 1 Date d'inscription samedi 25 septembre 2004 Statut Membre Dernière intervention 30 mai 2006
30 mai 2006 à 01:08
exactement ce que je cherchais!!

par contre un petit probleme avec les \' je crois kil faudrait que ca s'ecrive '' enfin notepad++ préfere ca ^^

aussi il serait bien d'avoir une option pour supprimer une table.. ou renomer aussi mais ca je peux faire moi meme ^^

merci a toi et a ceux que tu cites dans la source

++
nin47 Messages postés 5 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 juillet 2006
15 mai 2006 à 16:27
j'arrive pas à le faire marcher il y a des variables non declarées partout qui me pétent à la tête et quand je clique sur le bouton sa ne genère rien Oo une idée ??
missy972 Messages postés 3 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 23 mai 2006
28 avril 2006 à 18:01
Slt,
Ton code marche super bien...Mais j'aimerai savoir si au lieu de forcer le téléchargement il serai possible de l'envoyer directement vers ma boîte mail.
Donc si quelqu'un a la solution faites moi signe ;)
djoubate Messages postés 1 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 1 avril 2006
1 avril 2006 à 03:57
ça a vraiment l'air nickel, le seul petit truc que je n'ai pas bien pigé, c'est où se fait la sauvegarde.
est-il possible de sauvegarder en local ou bien sur un autre serveur?
elidris Messages postés 125 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 9 octobre 2007
24 mars 2006 à 23:05
J'ai pas l'habitude de mettre 10/10 mais là c'est clair que je suis heureux !!! quand je pense que j'ai faillis payer pour faire mes sauvegardes.
j'avais essayer d'autres sources du site mais elles ne fonctionnais pas

merci Ravery
ravery Messages postés 34 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 23 mars 2007 1
20 mars 2006 à 09:13
non, le drop n'est que dans le script de restauration. créé une table test avec deux / trois enregistrements, et tu verra, no nsoucis.
elidris Messages postés 125 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 9 octobre 2007
19 mars 2006 à 02:07
Salut,

en fait j'ai une base de données chez un hebergeur (jexiste.fr), dont les sauvegardes de la base sont normalement payantes, est-ce que je peux utiliser ton script pour faire une sauvegarde moi-meme et ne pas payé ?
Car comme j'ai vu que tu parles de DROP, j'ai peur de faire une betise et d'effacer ma base !! je me suis deja fait avoir en faisant un UPDATE tres tard le soir en oubliant le WHERE !!! je ne voudrais pas refaire une boulette ....
ravery Messages postés 34 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 23 mars 2007 1
1 mars 2006 à 15:35
En fait le terme "distant" à été supprimé du titre : trop de confusion sur le sens de ce terme.

Techniquement, rien n'empèche un serveur faisant tourner php de se connecter sur un autre serveur faisant tourner, lui, mysql (cas des gros site par exemple : un serveur de fichier, un serveur de donnée). D'ailleurs, c'est pour ca qu'on précise l'hôte dans la connexion (le fameux localhost).

Mais si le port 3306 (utilisé par mysql) est ouvert sur vos deux serveurs, alors là vous pouvez trés bien faire tourner la base sur l'un et le serveur de fichier sur l'autre. Les hébergeurs coupent généralement l'accès a ce port pour des raison de sécurité.

Voilà. Voilà.
Je ne prétant être un kador en php/mysql mais ca permettra de mettre fin au conflit sur le terme distant.
david33d Messages postés 2 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 11 novembre 2009
18 févr. 2006 à 07:47
Pour le localhost il n'y a pas de souci sur lycos puisque ton fichier sauvegarde.php doit se situer sur ton site lycos
aze555666 Messages postés 208 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 26 janvier 2009
6 févr. 2006 à 21:58
ça ne marcherait pas en distant, comme précisé dans le titre de ta source. Localhost renverrait au serveur easyphp local, et non pas à celui de lycos, dont je n'ai pas les adresses.
À moins que j'ai mal compris le mot "distant".
ravery Messages postés 34 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 23 mars 2007 1
6 févr. 2006 à 17:10
Aze555666 : je ne vois pas pourquoi ca ne marcherait pas. Vu qu'au démarrage, le script demande les params de connexion... (host / user /pass / base). En tout cas ca marche trés bien chez moi en localhost et chez mon hébergeur (et même sur un hébergeur distant si le port 3306 est ouvert des deux côtés).

Stepibou : Je n'ai pas encore regardé, il me semblait avoir initialisés toutes les variables.
aze555666 Messages postés 208 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 26 janvier 2009
6 févr. 2006 à 16:43
pas mal...
Mais est-ce que ça peut marcher avc des bases comme chez lycos dont l'host est 'localhost'?
stepibou Messages postés 112 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 11 octobre 2006
4 févr. 2006 à 15:58
Salut,
Pour voir tes erreurs :

ini_set("error_reporting",E_ALL & ~E_NOTICE);

Dit toi que si tu utilise une variable, elle doit tjs etre def avant.
ex :
if ( isset($ma_variable) ) { ...ton action... }

Voila , bon code! ;)
ravery Messages postés 34 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 23 mars 2007 1
4 févr. 2006 à 14:48
Stepibou.
A quel endroit as-tu des undefined variables ?
Les isset, ce serait pour savoir si les paramètres de connexion à la base sont définits ?
stepibou Messages postés 112 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 11 octobre 2006
4 févr. 2006 à 11:37
Bien malgres les undefined variables, ca marche!

Il faudrai que tu utilise des isset()..;

sinon, gracias, ca me fait prendre conscience,
qu'il serai bon de changer ses login et mots de pass de temps en temps. et utiliser des éléments long et complexes!!!
;)
ravery Messages postés 34 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 23 mars 2007 1
2 févr. 2006 à 14:37
Pour décocher toutes les cases, tu selectionne le champ vide (premier).

C'est vrai que j'ai pas pensé à cocher toutes les cases. Je n'en ai pas l'utilité. Mais sur demande, c'est trés simplement faisable.
Pour la restauration. c'est plus chaud (encore que) :
Le truc c'est que le fichier .sql contient l'instruction DROP TABLE avant de recréer la table. donc toutes les modifs entre la sauvegarde et la restauration seront perdues... Il faudrait une donc soit une option 'no drop and create' à la génération de la table soit 'ignorer drop and create' à la restauration. C'est ca quie me soucis.

M'enfin, je vais m'y atteler : plus c'est chaud plus c'est marrant à faire.
cs_babid Messages postés 49 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 17 décembre 2008
2 févr. 2006 à 13:51
Salut,

C'est fonctionnel, mais je n'ai pas encore regardé le code. Tu peux mettre en place des amélioration comme cocher/décocher toutes les cases,restaurer la base à partir de la sauvegarde. Mais c'est un bon départ, bonne continuation.

8/10
Rejoignez-nous