Page 1 sur 2
Export de base donnée
Posté : 04 mai 2006, 10:32
par Invité
Bonjour, voila j'utilise cette ligne de commandes pour faire un backup de ma base de donnée.
system("mysqldump --h=localhost --u=root dit > daaa.sql");
mais il cree juste le fichier et met rien de dans, je trouve pas l'erreur pourriez vous m'aideR?
Merci beaucoup
Posté : 04 mai 2006, 10:47
par Ryle
A priori je dirais :
--user=user_name OU -u user_name
--host=host_name OU -h host_name
Je ne suis pas convaincu du résultat d'un mélange des deux...
Pour plus d'infos :
http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html
Posté : 04 mai 2006, 11:58
par Invité
erreur de frappe :
voici la page backup.php
<?php
// Page faisant appel aux sessions
session_start();
// Vérification de l'autorisation
if (!$_SESSION["membre"]) {
// Si l'utilisateur n'est pas autorisé il est reconduit
// sur le formulaire d'identification
header("Location: sectionmembre_acces.html");
die();
}
include("connect.php");
include "css.php";
echo "Votre base est en cours de sauvegarde.......\n<br>";
//if(system("mysqldump --host=localhost --user=dit --passacura -rfichier dit > ntica.sql"))
if(system("mysqldump -h localhost -u dit -p*** dit > base_dit.txt"))
{
echo"plouf";
}
echo "OK <br>";
echo "C'est fini.";
?>
et y m'affiche pas le PLOUF donc y passe pas dans le if ...
Posté : 04 mai 2006, 12:04
par guilt92
if(system(sprintf('mysqldump -h localhost -u dit -p*** dit > base_dit.txt')))
Et comme ca ?
Posté : 04 mai 2006, 12:05
par Ryle
La fonction system() retourne la dernière ligne de sortie de la commande, mais comme tout est enregistré dans un fichier, je ne suis pas certain qu'il t'affiche quelque chose... une chaine vide serait alors également interpretée comme fausse...
Question bête déjà, quand tu exécutes la commande directement en ligne de commande, est ce que cela fonctionne comme tu le souhaites ?
Posté : 04 mai 2006, 12:05
par Invité
non plus ...

Posté : 04 mai 2006, 12:06
par Truc
Salut,
Avec une petite recherche tu aurais certainement déjà trouvé la réponse
http://www.phpfrance.com/forums/voir_su ... qldump.php
Posté : 04 mai 2006, 12:19
par Invité
j'ai essaye avec ca : if(system("mysqldump --host localhost --user dit --password acura dit > testament.sql"));
{
echo"plouf";
}
Mais j'ai rien, il affiche le plouf maintenant mais j'ai fait une recherche sur le document et rien trouvée ...
Posté : 04 mai 2006, 12:26
par Ryle
Commence déjà peut être par faire marcher ton code en ligne de commande... c'est quoi ce "dit" ? :
mysqldump --host localhost --user dit --password acura dit > testament.sql
Posté : 04 mai 2006, 12:39
par Invité
DIT : c'est le nom de ma base de donnée
Posté : 04 mai 2006, 12:49
par Invité
en ligne de commande? a partir d'ou? je suis pas un pro :$
Posté : 04 mai 2006, 12:56
par Ryle
faut pas lui préciser un --databases devant ?
en ligne de commande, c'est à dire directement depuis ton shell, comme ça il te dira s'il y a des erreurs... commence juste par exécuter le mysqldump et ajoute les arguments au fur et à mesure pour voir ce qui peut poser problème...
Posté : 04 mai 2006, 13:01
par Invité
alors voici ce que j'ai mit :
mysqldump -h localhost -u dit -p**** dit > testmabase.sql
et ca marche parfaitement
Mais dans mon fichier backup.php ca marche pas ...
Posté : 04 mai 2006, 14:07
par Ryle
Il n'y aurait pas un problème au niveau des droits si toi tu peux l'exécuter correctement mais pas php ? (sans parler du if pour l'instant, juste de l'exécution de la commande et la génération du fichier)
Tu peux eventuellement aussi essayer avec exec() au lieu de system() voir si cela change quelque chose..
Posté : 24 mai 2006, 15:56
par nabs
j'ai le meme pb avec le fichier sql généré, en revanche je souhaiterai taper la requete en ligne de cmd mais je connais meme pas les cmd elles meme pour se connecter, pourriez vous me les indiquer svp.
quant au script php, lui il contient ceci :
system("mysqldump --host localhost --user root --password --tables test > tes.sql");
quel serait le pb dans ce cas ?
merci de votre aide