Copier une base de données avec PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Copier une base de données avec PHP

par Sékiltoyai » 15 oct. 2007, 13:20

Ouais c'est parce que tu tournes sur une plateforme Windows. Sur une plateforme UNIX, le programme mysqldump sera déjà dans le PATH (et de toute facon, le chemin que tu utilises sous windows ne sera pas valide), donc il faudra enlever le chemin et ne laisser que le nom du programme.

par reem » 15 oct. 2007, 11:05

ça marche très très très bien comme ça, merci beaucoup pour votre aide :D

par Tracker » 15 oct. 2007, 11:02

[...] en plus il ne me reste que quelques jours pour remettre mon travail :(
Commence à faire des cartons, et à nettoyer ton bureau
:wink:

par Berzemus » 15 oct. 2007, 10:37

Voilà, un exemple qui marche (chez moi).

le truc c'est qu'il faut exécuter mysqdump depuis le répertoire bin de mysql (chez moi: c:\mysql\bin ):
exec("c:\mysql\bin\mysqldump --opt -h ".$ip_serveur." -u root ".$nom_bdd." > copie_bdd.sql");
Dis nous si ça va comme ça..

par reem » 15 oct. 2007, 10:04

bonjour à tous,

Berzemus > Oui, il n'y a pas encore de mot de passe, tout est laissé par défaut; donc d'après ce que j'ai lu je dois pas mettre le -p non ?

Sékiltoyai > J'ai rajouté 2>&1 dans la commande et j'ai eu ceci dans le ficher copie_bdd.sql :

'mysqldump' n'est pas reconnu en tant que commande interne
ou externe, un programme ex‚cutable ou un fichier de commandes.

Qu'est ce que je dois faire pour copier la bdd automatiquement ? en plus il ne me reste que quelques jours pour remettre mon travail :(

par Sékiltoyai » 14 oct. 2007, 15:54

Rajoute un 2>&1 dans ta commande pour avoir les éventuelles erreurs.

par Berzemus » 14 oct. 2007, 13:21

toutes les variables sont bonnes ?

l'utilisateur root n'a pas de mot de passe ?

par reem » 14 oct. 2007, 00:27

Salut, eh oui c'est encore moi :D

J'ai testé ceci:

Code : Tout sélectionner

exec("mysqldump -h ".$ip_serveur." -u root --opt ".$nom_bdd." > copie_bdd.sql");
le fichier copie_bdd.sql se crée mais il est vide :shock:

D'où vient ce problème ?

par reem » 12 oct. 2007, 16:37

Merci beaucoup pour votre aide. Effectivement avec ces mots-clés je trouve des solutions, je vais essayer si ça marche avec moi :D

Encore merci à tous

par Berzemus » 12 oct. 2007, 16:08

ou encore "php exec mysqldump".

Parfois le plus dur c'est de savoir ce qu'il faut chercher. Courage.

par Sékiltoyai » 12 oct. 2007, 15:53

Tape "man mysqldump" sur google pour savoir comment utiliser le programme, et ensuite tu contruis la commande en fonction.

par Invité » 12 oct. 2007, 15:47

Merci pour le conseil Berzemus,

ça fait plus d'une semaine que je cherche une solution sur le net, et si j'avais trouvé une sur google je n'aurais pas posté dans un forum. Et puis c'est pour ça que les forums sont faits n'est ce pas ?

Merci quand même.

par Berzemus » 12 oct. 2007, 14:36

Sans vouloir être arrogant, mais tu as cherché un peu ?

C'est en chercheant des solutions qu'on apprend le plus, pas en attendant que tombe la solution toute faite.

Une simple recherche avec google peut déjà fournir une ribambelle de pistes.

par reem » 12 oct. 2007, 13:11

ça serait vraiment super si je peux exécuter mysqldump avec cette fonction, mais je ne sais pas quoi mettre dans "command" :(

par Berzemus » 12 oct. 2007, 13:07

iclo > Le problème c'est comment trouver le fichier qui le fait puisque PhpMyAdmin est fait avec les frames :?
c'est toujours "http://localhost/mysql/" quelque soit la page
Si rien que ça c'est déjà un problême, le reste va être chaud chaud..

hint: click droit dans le cadre, et n'afficher que le cadre (sous FF)

Ou tout simplement, lire le html.. (ctrl-u sous FF, affichage -> source sous IE)