[MYSQL]Procédure stockée et INOUT

Procédure stockée et INOUT [MYSQL] - SQL/NoSQL - Programmation

Marsh Posté le 30-03-2010 à 10:56:15    

Bonjour.
 
J'ai une procédure stockée toute simple
 

Code :
  1. DROP PROCEDURE `connect`//
  2. CREATE DEFINER=`root`@`localhost` PROCEDURE `connect`(IN login_in VARCHAR( 50 ) , IN password_in VARCHAR( 50 ) , INOUT etat BOOL)
  3. BEGIN
  4. SELECT count( * )
  5. INTO etat
  6. FROM users
  7. WHERE login = login_in
  8. AND password = password_in;
  9. END


 
 
Dans mon code php je fais ceci.
 

Code :
  1. $bdd = new PDO('mysql:host=localhost;dbname=poo_panier', 'root', '');
  2.         $login = 'jerome';
  3.         $password = 'azerty';
  4.         $etat ;
  5.        
  6. $result = $bdd->prepare("CALL connect(:login,:password,:etat)" );
  7. $result->bindParam(':login', $login);
  8. $result->bindParam(':password',$password);
  9.         $result->bindParam(':etat',$etat,PDO::PARAM_INT|PDO::PARAM_INPUT_OUTPUT);
  10. $result->execute();
  11.         echo $etat;


 
Etat ne vaut jamais rien alors qu'il devrait me renvoyer 1 sachant que

Code :
  1. SELECT count( * )
  2. FROM users
  3. WHERE login = 'jerome'
  4. AND password = 'azerty'

me renvoi bien 1 sous phpmyadmin par exemple.
 
Sous mysqlworkbench un

Code :
  1. 1. CALL connect('jerome','azerty',@a);
  2.    2. SELECT @a;

me renvoi bien 1.
 
Impossible de récupérer un INOUT sous php avec PDO?
 
Merci
 
Merci de votre aide.

Reply

Marsh Posté le 30-03-2010 à 10:56:15   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed