Bonjour.
J'ai une procédure stockée toute simple
Code :
- DROP PROCEDURE `connect`//
- CREATE DEFINER=`root`@`localhost` PROCEDURE `connect`(IN login_in VARCHAR( 50 ) , IN password_in VARCHAR( 50 ) , INOUT etat BOOL)
- BEGIN
- SELECT count( * )
- INTO etat
- FROM users
- WHERE login = login_in
- AND password = password_in;
- END
|
Dans mon code php je fais ceci.
Code :
- $bdd = new PDO('mysql:host=localhost;dbname=poo_panier', 'root', '');
- $login = 'jerome';
- $password = 'azerty';
- $etat ;
-
- $result = $bdd->prepare("CALL connect(:login,:password,:etat)" );
- $result->bindParam(':login', $login);
- $result->bindParam(':password',$password);
- $result->bindParam(':etat',$etat,PDO::PARAM_INT|PDO::PARAM_INPUT_OUTPUT);
- $result->execute();
- echo $etat;
|
Etat ne vaut jamais rien alors qu'il devrait me renvoyer 1 sachant que
Code :
- SELECT count( * )
- FROM users
- WHERE login = 'jerome'
- AND password = 'azerty'
|
me renvoi bien 1 sous phpmyadmin par exemple.
Sous mysqlworkbench un
Code :
- 1. CALL connect('jerome','azerty',@a);
- 2. SELECT @a;
|
me renvoi bien 1.
Impossible de récupérer un INOUT sous php avec PDO?
Merci
Merci de votre aide.