Procédures stockées et PDO
Bonjour,
j'essaie d'exécuter une procédure stockée via PDO tout comme l'exemple de php.net mais cela ne marche pas. J'ai lu quelque part que PDO avait du mal avec les procédures stockées...c'est le cas ?
Voici mon exemple à priori simple :
Code:
1 2 3 4 5 6
|
delimiter |
CREATE PROCEDURE test(OUT sortie varchar(20))
BEGIN
SELECT 'Ici la sortie !!' INTO sortie;
END | |
Sous cmd, pas de soucis ma ps marche.
Via php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
try{
$connexion = new PDO('mysql:host=localhost;dbname=xxx', 'root', '', array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
}catch(PDOException $e){
echo 'foiré';
}
$stmt = $connexion->prepare("CALL test(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);
$stmt->execute();
echo "La procédure a retourné : $return_value\n"; |
Citation:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1414 OUT or INOUT argument 1 for routine boursier.test is not a variable or NEW pseudo-variable in BEFORE trigger' in C:\wamp\www\procedure\index.php:14 Stack trace: #0 C:\wamp\www\procedure\index.php(14): PDOStatement->execute() #1 {main} thrown in C:\wamp\www\procedure\index.php on line 14
J'ai essayé différentes choses, je récupère toujours une erreur...
Quelqu'un pourrait il me confirmer qu'on peut exécuter une ps via PDO ?
Merci ;)