Bonjour, je voudrais importer une BDD depuis une page WEB avec la commande suivante :
Code:<?php system('mysql -h localhost -u root -p root -d test < schema_bdd;'); ?>
Mais ca ne fonctionne pas (j'utilise WAMP)
Version imprimable
Bonjour, je voudrais importer une BDD depuis une page WEB avec la commande suivante :
Code:<?php system('mysql -h localhost -u root -p root -d test < schema_bdd;'); ?>
Mais ca ne fonctionne pas (j'utilise WAMP)
Bonjour,
Tu es sûr du chemin de la command (tapes la même commande à la racine de ton application pour voir si c ok)
Tu es sûr du ; après le nom du fichier .sql
J'ai essayé ça, même résultat...
(je me connecte bien à la base test avant ...)Code:<?php system('C:/wamp/bin/mysql/mysql5.1.36/bin -h localhost -u root -p 1234 -d test < bdd_generique.sql'); ?>
Et la commande mysql ??
J'avais oublié, mais ça ne fonctionne toujours pas !
Code:<?php system('C:/wamp/bin/mysql/mysql5.1.36/bin/mysql -h localhost -u root -p root -d test < schema_bdd.sql'); ?>
Oui oui,
Sous Windows c toujours assez space :roll:, j'avais déjà eu des pbs dans le genre à cause du chemin. Je crois que j'avais fais un truc du genre:
Sauvegarder le répertoire de l'application courante,
Changer vers la racine où se trouve "mysql"
Executer la commande
Revenir au répertoire courant
Regardes aussi les pbs de "/" en "\" car windows
Essayes aussi de taper la ligne de commande en directe pour voir déjà si ça fonctionne ...
La commande fonctionne en DOS mais lorsque je lance la page ca ne fonctionne pas (l'importation de la BDD ne se fait pas ...) ? J'ai créer une page PHP avec le code suivant (uniquement) :
Merci;Code:<?php system('C:\wamp\bin\mysql\mysql5.1.36\bin\mysql -h localhost -u root -p root -d teste < C:\schema_bdd.sql'); ?>
Oui bein on vient donc au problème de la commande à la racine de son exécutable ... tu essayes avec des changeDir pour te mettre à la racine de la commande puis tu reviendras ensuite sur l'éapplication.
Naturellement, faut placer le fichier .sql au même endroit que l'exécutable ...
Je sais c glauque mais en attendant mieux, ça je suis sûr que ça marche :roll:
Pas trop compris ...
Le but est d'exécuter:
Donc de se trouver dans le répertoire de mysql avec le fichier shema_bdd.sql au même endroit. Et donc d'utiliser 'chdir'Code:
1
2<?php system('mysql -h localhost -u root -p root -d teste < schema_bdd.sql'); ?>
J'ai placé le script SQL dans le dossier où il y a la commande mysql, je propose le code suivant ? J'ai surement des erreurs, même en mettant les "" au chemin ...
Code:
1
2
3
4
5
6
7
8 <?php chdir(C:\wamp\bin\mysql\mysql5.1.36\bin\); system('mysql -h localhost -u root -p root -d teste < schema_bdd.sql'); ?>
J'aurais fait:
Code:
1
2
3
4
5
6
7
8
9
10
11
12 <?php $dir = "c:\wamp\bin\mysql\mysql5.1.36\bin"; $curDir = getcwd(); chdir($dir); echo getcwd(); // pour vérifier l'aller system('mysql -h localhost -u root -p root -d teste < schema_bdd.sql'); chdir($curDir); echo getcwd(); // pour vérifier le retour ?>
Merci mais j'ai encore un problème :
Il y a un problème de "", le code après le chemin est grisée ... (parse error)
Voilà c résolu, regardes le code que j'ai modifié, il y avait un \ de trop car le parser prennait ça pour un caractère echappé.
J'ai les chemin d'entré et de sortie qui s'affichent, parcontre, la BDD n'est toujours pas importé !
Tu peux me donner les chemins qui s'affichent, car si c ok et qu'en ligne de commande 'mysql -h localhost -u root -p root -d teste < schema_bdd.sql' est ok alors il ne devrait pas avoir de pbs !!!
Voilà les chemins qui s'affichent : C:\wamp\bin\mysql\mysql5.1.36\binC:\wamp\www\site
Résumons:
Tu as bien dans C:\wamp\bin\mysql\mysql5.1.36\bin mysql (qui parrait normal) et puis aussi le fichier schema_bdd.sql ?
Quand tu tapes la commande en ligne de commandes Windows:
'mysql -h localhost -u root -p root -d teste < schema_bdd.sql' ça marche aussi ?
Oui pour le placement du fichier, pour la ligne de commande ca marche en DOS (je spécifie biensur le chemin pour arriver à mysql, le mots de passe est attaché à p : proot)
Finalement ca ne marche pas, erreur de ma part ...