IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] exec fichier sql dans shell


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Points : 18
    Points
    18
    Par défaut [Système] exec fichier sql dans shell
    Salut à tous,
    Je développe un script qui met à jour une base mysql a partir d'un fichier sql à l'aide de la commande exec...
    Mon problème est que je n'arrive pas à récuperer le résultat en cas d'erreur...
    J'ai remarque qu'avec une autre commande (genre ls -aux) le résultat affiché était renvoyé, est ce du au fait que la commande soit mysql ?
    J'ai essayé d'autre fonction passthru , shell _exec, rien n'y fait...
    Peut être y' a t'il un parametre a rajouter a la commande shell ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $rep = JOB_ROOT_DATA.'sql';
    $resultat = "";
    $retour = "";
    if(!$dir = opendir($rep)) trigger_error('Impossible d\'ouvrir le repertoire : '.$rep.'.',E_USER_ERROR);
    while (false !== ($fichier = readdir($dir))) {
    	if (($fichier != '.') && ($fichier != '..') && ($fichier != '...')) {
    		exec('mysql -h localhost -u'.JOB_DB_USER.' -p'.JOB_DB_PASSWD.' '.JOB_DB_BASE.' < '.$rep.'/'.$fichier,$retour,$resultat);
    		print $resultat;
    		print $retour;
    	}
    }

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    tu utilises print sur un tableau ce qui devrait te donner "Array", t'as rien d'afficher ? essaie var_dump($retour);

  3. #3
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    En fait j'ai bien un array en retour, le probleme est que celui -ci est vide et ce meme si je génère une erreur expres (genre mot de passe invalide)...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    exec('mysql -h localhost -ugdrg'.JOB_DB_USER.' -p'.JOB_DB_PASSWD.' '.JOB_DB_BASE.' < '.$rep.'/'.$fichier,$retour,$resultat);
    var_dump($retour);
    me renvoie array(0) { }

  4. #4
    Membre actif
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Points : 226
    Points
    226
    Par défaut
    et si tu essayes ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec('mysql -h localhost -ugdrg'.JOB_DB_USER.' -p'.JOB_DB_PASSWD.' '.JOB_DB_BASE.' < '.$rep.'/'.$fichier.' 2>&1', $retour);
    dsl je ne suis pas chez moi pour que je puisse tester et te dire ce que ca donne

  5. #5
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Ca marche nickel !!!
    Merci beaucoup...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2008, 15h00
  2. Exécuter un fichier SQL dans Access
    Par FredFrance21 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/01/2008, 13h37
  3. Réponses: 6
    Dernier message: 08/08/2007, 11h24
  4. Exécution d'un fichier SQL dans un fichier JSP
    Par Tyrael62 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/07/2007, 17h29
  5. [SQL] Importer un fichier .sql dans une base de données avec PHP
    Par budiste dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/06/2006, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo