Partage
  • Partager sur Facebook
  • Partager sur Twitter

Procédure stockée sous MYSQL

    4 novembre 2010 à 16:58:48

    Bonjour,

    Voici mon petit soucis, je souhaite créer une "procédure stockée" dans le cadre d'une authentification, malheureusement je n'arrive pas à faire fonctionner ma requête ci dessous.

    DELIMITER //
    CREATE PROCEDURE authentification
    	(
    		IN user VARCHAR(20),
    		IN pass VARCHAR(20),
    		OUT exit INT(10)
    	)
    	BEGIN
    
    		SELECT COUNT(*)
    		INTO exit 
    		FROM `utilisateurs` WHERE username=user and password=pass;
    	END;
    //
    DELIMITER ;
    


    D'habitude sous SQL server, je galère un peu sous MYSQL car la syntaxe n'est pas tout à fait la même ..

    Mes paramètres d'entrées doivent être deux varchar de 20 qui contiennent le nom de l'utilisateur et sont pseudo.
    Ma procédure doit vérifier que le login et le mot de passe correspondent à ceux enregistrés dans ma table utilisateurs.
    Pour cela, j'affecte la valeur du count à exit qui est un paramètre OUT à ma procédure.
    Si exit est à 0 => login et mdp qui ne sont pas dans la table utilisateurs
    si exit est à 1 => c'est ok :)

    Pour le moment je bloque ..

    Merci pour votre aide :)
    • Partager sur Facebook
    • Partager sur Twitter
      4 novembre 2010 à 17:28:32

      bonjour,
      DELIMITER //
      CREATE PROCEDURE authentification
      (
      	IN ut VARCHAR(20),
      	IN mdp VARCHAR(20),
      	OUT retour INT(1)
      )
      BEGIN
      	SELECT COUNT(*)
      	INTO retour
      	FROM uts WHERE e_mail=ut and mdp=mdp;
      END;
      //
      DELIMITER ;
      

      ça marche nickel quand on a pas de noms de colonnes ou de variables IN ENGLISH qui se téléscopent avec des mots réservés (exit, user, ...).
      Ton post aurait pu t'alerter (user en vert).
      Dans MySQLQueryBrowser c'était encore plus évident : plein de mots en bleu.
      Vous voulez SPEAK ENGLISH, alors préfixez vos variables :)
      • Partager sur Facebook
      • Partager sur Twitter

      Procédure stockée sous MYSQL

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown