Problème export avec mysqldump

Résolu
Bonjour,
j'ai un souci avec la commande mysqldump. J'ai fait un petit site en PHP/MySQL et je souhaite ajouter un lien qui permettrait à l'administrateur de gérer ses sauvegardes directement sans avoir à passer par PhpMyAdmin.
J'ai vu la fonction mysqldump. Quand j'essaie de la taper directement dans PhpMyAdmin, j'ai sans arrêt une erreur même en tapant "mysqldump --help".
Quelqu'un peut m'aider ?

Merci
Isa
Configuration: Windows XP
Firefox 3.0.7

6 réponses

  1. Voila ce que je fais :
    Sauvergarde dans un fichier .txt

    $page="";
    
    system ("\"C:\Program Files\EasyPHP1-8\mysql\bin\mysqldump.exe\" -u$db_user -p$db_pass --opt $database > monfichier.txt");
    //r - Ouvre en lecture seule, et place le pointeur de fichier au début du fichier.
    $ouverture = @fopen("monfichier.txt", "r");
    while (!feof($ouverture))
    { //on parcourt toutes les lignes jusqu'a la fin du fichier (feof)
          $page .= @fgets($ouverture); // lecture du contenu de la ligne
    }
    1. Bonjour, j'ai copié le code envoyé. Par contre, le fichier qui est créé est vide.
      Si j'exécute la commande directement dans cmd.exe, la création du fichier se déroule bien.
      Je ne vois pas trop. Est-ce qu'il n'y aurait pas un problème de droit ?
      Merci pour la réponse,
      Isabe
  2. Non je ne pense pas que c'est un problème de droit car le fichier est bien crée.

    Voila.
    1. En fait, je me suis trompée, le fichier ne se créé pas
  3. Vérifie que le dossier dans lequel tu places ton fichier a bien les droits en écriture.

    As tu testée ce que te renvoie la fonction system (...), en faisant un echo, ex :

    $result = system (...);

    echo $result
    1. Ca me renvoie rien
  4. 1/
    As tu essayée d'exécuter la commande que tu passe en paramêtre de la fonction system() sur l'invite de commande Windows ?

    2/
    Sinon essaye sinon d'exécuter la même commande mais en remplacant la fonction system() par la commande exec(), avec les mêmes paramêtres, on ne sait jamais.
    1. j'ai essayé effectivement d'exécuter la commande directement dans une fenêtre cmd.exe et là ça marche.
      Sinon, j'ai essayé le exec à la place du system et j'ai toujours rien dans ma variable $result
    2. @isabe2000ça y est j'ai trouvé, mon problème venait du chemin de mysqldump et du nom du dossier Program Files
      Pour ceux qui cherchent voici la ligne de commande à indiquer :
      $command = "C:\\PROGRA~1\\wamp\\bin\\mysql\\mysql5.0.51b\\bin\\mysqldump --host=$host --user=$user --password=$pass $db > $backup";
      Merci à ceux qui m'ont donné de l'aide
  5. bon ben là je tire mon chapeau car je n' ai plus qu' a dire merci! nickel les gars.