bonjour
j'essaie d'appeler une procédure stockée avec un paramètre soit en entrée ou en sortie, n'importe.
J'ai réussi à appeler une procédure stockée qui ne copie pas de valeur mais quand il y a paramètre je n'ai pas le lien entre variable PHP et Mysql
Voici mes codes :
Pour un paramètre en entrée :
Ou pour sortie :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE PROCEDURE `bdtest`.`paraEntree` ( nb varchar(20)) BEGIN insert into tabletest values(null,nb); END
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE PROCEDURE `bdtest`.`paraSortie` (out nb int) BEGIN select max(id) into nb from tableTest; END
Et le code php :
Il y a donc problème dans le passage de paramètre car sans paramètre c'est ok et les tests des procédures direct sur mysql sont ok !
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
17
18
19
20
21
22 try { $dbh = new PDO('mysql:host=localhost;dbname=bdtest', 'utBase', 'hwQTMMvCEa35aeHF'); // pour entrée $stmt = $dbh->prepare("CALL paraEntree(?)"); $stmt->bindParam(1, $nb, PDO::PARAM_STR,20); $value = 'rrr'; $stmt->execute(); // pour sortie $stmt = $dbh->prepare("CALL paraSortie(?)"); $stmt->bindParam(1, $return_value, PDO::PARAM_STR, 20); // Appel de la procédure stockée $stmt->execute(); print "La procédure a retourné : $return_value\n"; $dbh = null; } catch (PDOException $e) { echo $e->errorInfo() ; } ?>
help
merci
Partager