Bonjour.

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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
	$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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT count( * )
FROM users
WHERE login = 'jerome'
AND password = 'azerty'
me renvoi bien 1 sous phpmyadmin par exmple.

Merci de votre aide.