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

PHP & Base de données Discussion :

Appel procédure stockée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 182
    Par défaut Appel procédure stockée
    Bonjour à tous,

    Malgré mes recherches sur le site je n'arrive pas a trouver une solution à mon problème. J'ai une procédure stockée sous mysql qui me renvoit le nom d'un département en fonction de son numéro.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    DROP PROCEDURE IF EXISTS sp_getDepartement;
    delimiter |
    CREATE PROCEDURE sp_getDepartement(IN LeDept char(3) , OUT param1 varchar(50))
    BEGIN
    	SELECT libelle_dept into param1
    	FROM t_departements
    	WHERE code_dept=LeDept;
    END |
    Coté serveur, cela fonctionne très bien, par contre, en php je n'arrive pas a récupérer la valeur de "param1".
    J'ai éssayé pas mal de morceaux de codes mais j'ai des erreurs différentes à chaque fois ...
    Dernièrement j'ai éssayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    function getdeptname($dept_num)
    {	
    connexion_db();
    mysql_query("Call sp_getDepartement($dept_num,@param1 )");
    $resultset=mysql_query("SELECT  @param1");
    $line=mysql_fetch_array($resultset);
    $param=$line[0];
    return $param;
    deconnexion_db();
    ?>
    Apparement la variable est vide car je n'ai rien en sorti.
    Si quelqu'un sait comment on récupère les params de sortie...

    Merci.

  2. #2
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Bonjour,

    Je te conseil d'utiliser une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DROP PROCEDURE IF EXISTS sp_getDepartement;
    delimiter |
    CREATE FUNCTION sp_getDepartement(IN LeDept char(3)) RETURNS VARCHAR
    BEGIN
           DECLARE param1 VARCHAR;
    	SELECT libelle_dept into param1
    	FROM t_departements
    	WHERE code_dept=LeDept;
     
           RETURN param1;
    END |
    puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $rs = mysql_fetch_array(mysql_query("SELECT sp_getDepartement($dept_num) AS leDepartement"));
     
    echo $rs['leDepartement'];
    (code non testé)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 182
    Par défaut
    J'ai trouvé le problème : En fait il me manquait les guillemets au niveau de la variable $dept_num, il me renvoyait vide car il ne trouvait rien.

    Sinon je vais tester ton morceau de code.

    Merci de ton aide.

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

Discussions similaires

  1. Appel Procédure stockée SQL qui plante
    Par Daniel MOREAU dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/04/2007, 08h55
  2. [PHP5]Appel procédure stockée
    Par maKyo dans le forum DB2
    Réponses: 2
    Dernier message: 02/03/2007, 11h04
  3. Réponses: 2
    Dernier message: 20/03/2006, 09h39
  4. Appeler Procédure stockée depuis ACCESS
    Par Sunny dans le forum Access
    Réponses: 2
    Dernier message: 13/09/2005, 22h07
  5. [PL/SQL] Appel procédure stockée dans trigger
    Par Félia dans le forum Oracle
    Réponses: 3
    Dernier message: 24/01/2005, 17h25

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