Bonjour

je tente d'avoir la variable OUT d'une requête stockée qui devrait renvoyé le carré de l'entrée

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `RR`(IN `p_envoi` INT(4), OUT `p_retour` INT(6))
    NO SQL
BEGIN
 
SELECT (p_envoi * p_envoi)INTO p_retour ;
 
SELECT p_retour;
 
END$$
DELIMITER ;
j'appel cette requête stockée avec ce code php

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
 
	$envoi = 2 ;
	$retour = 0 ;
	echo 'envoi = '.$envoi. '</br>';
	echo 'retour = '.$retour. '</br>';
 
	$sql="CALL RR(:p_envoi,:p_retour)";
	$sqlpret = $connexion->prepare($sql);
 
	$sqlpret->bindParam(':p_envoi', $envoi, PDO::PARAM_INT);
	$sqlpret->bindParam(':p_retour', $retour, PDO::PARAM_INT|PDO::PARAM_INPUT_OUTPUT);
 
	$sqlpret->execute();	
 
	echo 'envoi = '.$envoi. '</br>';
	echo 'retour = '.$retour. '</br>';
mais j'ai toujours même message erreur

Erreur fatale : Exception non interceptée 'PDOException' avec le message 'SQLSTATE [42000]: Erreur de syntaxe ou violation d'accès: 1414 OUT ou INOUT argument 2 pour la routine bridgez.RR n'est pas une variable ou une nouvelle pseudo-variable dans AVANT de déclencher '