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

SQL Procédural MySQL Discussion :

Paramètre de sortie


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 33
    Par défaut Paramètre de sortie
    bonjour,
    quelqu'un sait-il comment récupérer un paramètre OUT d'une procédure stockée MySQL en php (bien que je n'y arrive pas non plus dans mysql)

    voici ma procédure stockée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    CREATE PROCEDURE `AjoutClient`(
    			IN	sPrenom       	varchar(50),
    			IN	sNom          	varchar(50),
    			IN	sAdresse      	varchar(250),
    			IN	sCP           	varchar(5),
    			IN	sVille        	varchar(50),
    			IN	sPays         	varchar(20),
    			IN	sTel1         	varchar(14),
    			IN	sTel2         	varchar(20),
    			IN	sCourriel     	varchar(50),
    			IN	sCommentaires 	varchar(250),
    			IN	nCodeTourOp 		tinyint(4),
    			OUT	sERR						varchar(1000)
    )
    BEGIN
    		DECLARE sERR						varchar(1000);
        DECLARE sChampsOb varchar(1000);
    		DECLARE bChampsOb	tinyint(1) DEFAULT 0;
    		SET sERR := null;
    		SET sChampsOb :='Champs obligatoires :<br/>';
         /*Champs obligatoires*/
        IF sPrenom is null then
          SET sChampsOb := sChampsOb || 'Pr?nom<br/>';
    			SET bChampsOb := 1;
        END IF;
    		IF bChampsOb=1 THEN
    			SELECT sChampsOb INTO sERR;
    		END IF;
    END
    Pensez-vous qu'il est possible de préciser une variable PHP pour mon paramètre de sortie?

  2. #2
    Membre chevronné Avatar de Soutou
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 328
    Par défaut
    Sous MySQL il faut utiliser une variable session.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CALL ajoutclient(......,@v_retour)
    tu traites ensuite @v_retour
    Avec PHP, c'est un peu plus ardu. il faut te servir de mysqli_multi_query, mysqli_query et mysqli_fetch_array.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    if ($result = mysqli_multi_query
             ($connexion,"call ajoutclient ('$v1',...,@v_retour)") > 0)
     {if ($result2 = mysqli_query($connexion, "SELECT @v_retour")) 
       {$ligne = mysqli_fetch_array($result2, MYSQLI_NUM);
        if ($ligne[0] == null)
           print "Pas de retour! Pb ...";
        else
           $ligne[0] contient ton résultat.

  3. #3
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 33
    Par défaut
    et sinon avec la fonction mysqli_prepare il y n'y aurait pas quelque chose qui pourrait ressembler à ce que je cherche ?

  4. #4
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Non, les prepared statements sont tout à fait autre chose (cf http://maximilian.developpez.com/mys...d-statements/)

    Soutou : pourquoi mysqli_multi_query et pas mysqli_query :

  5. #5
    Membre chevronné Avatar de Soutou
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 328
    Par défaut
    query c'est pour une seule instruction. Il ya peut être d'autres solutions mais celle là fonctionne , je l'ai testé.
    Pourquoi chercher plusieurs solutions? Un péché de jeunesse?

  6. #6
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Citation Envoyé par Soutou
    query c'est pour une seule instruction.
    Ben c'est le cas là non ?

    Citation Envoyé par Soutou
    Pourquoi chercher plusieurs solutions? Un péché de jeunesse?
    Peut-être Enfin c'est surtout parce que je ne suis pas tellement partisan du "pourquoi faire simple quand on peut faire compliqué" !

  7. #7
    Membre chevronné Avatar de Soutou
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 328
    Par défaut
    Je pense qu'on ne peut pas appeler un SP avec query

    http://mysql.gilfster.com/page.php?parent_id=4&page_id=4.0.3

    C'est toi, je pensais que c'était le jeune de Star Wars.
    Je ne peux plus tester MySQL, j'ai un pb de service sous XP. Bye

  8. #8
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 33
    Par défaut
    j'étais tombé sur ce lien aussi, et cette méthode marche en effet


    Pourquoi chercher plusieurs solutions? Un péché de jeunesse?
    ce n'est pas un pêché de jeunesse je me demandais juste ce qui était le plus propre

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

Discussions similaires

  1. Paramètre de sortie!!
    Par dongnold dans le forum Langage
    Réponses: 3
    Dernier message: 09/02/2006, 21h31
  2. [Débutant]Procédure avec paramètres entrée / sortie
    Par jeromejanson dans le forum Langage
    Réponses: 13
    Dernier message: 10/10/2005, 08h30
  3. Affectation du résultat d'une ps sans paramètre de sortie
    Par PERRIN38 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/08/2005, 15h43
  4. @@identity en paramètre de sortie
    Par navis84 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/04/2005, 20h50
  5. Récupération des paramètres en sortie d'1 procédure stockée
    Par navis84 dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/12/2004, 11h40

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