par
sebpern » 03 janv. 2008, 15:53
bonjour
j'essaie d'appeler une procedure stockée avec un paramètre soit entre ou sortie nimporte.
je reussi a appeler une procedure stockée qui ne copie pas de valeur mais qd parametre je n'aipas le lien entre variable PHP et Mysql
voici mon code
pour para en entree
Code : Tout sélectionner
CREATE PROCEDURE `bdtest`.`paraEntree` ( nb varchar(20))
BEGIN
insert into tabletest values(null,nb);
END
ou
pour sortie
Code : Tout sélectionner
CREATE PROCEDURE `bdtest`.`paraSortie` (out nb int)
BEGIN
select max(id) into nb from tableTest;
END
et le code php :
try {
$dbh = new PDO('mysql:host=localhost;dbname=bdtest', 'utBase', 'hwQTMMvCEa35aeHF');
// pour entre
$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() ;
}
?>
pbl ds passage parametre car sans para c ok et test des proc direct sur mysql ok !
help
merci
et pourtant pas d'erreur
bonjour
j'essaie d'appeler une procedure stockée avec un paramètre soit entre ou sortie nimporte.
je reussi a appeler une procedure stockée qui ne copie pas de valeur mais qd parametre je n'aipas le lien entre variable PHP et Mysql
voici mon code
pour para en entree
[code]CREATE PROCEDURE `bdtest`.`paraEntree` ( nb varchar(20))
BEGIN
insert into tabletest values(null,nb);
END [/code]
ou
pour sortie
[code]
CREATE PROCEDURE `bdtest`.`paraSortie` (out nb int)
BEGIN
select max(id) into nb from tableTest;
END [/code]
et le code php :
[php]
try {
$dbh = new PDO('mysql:host=localhost;dbname=bdtest', 'utBase', 'hwQTMMvCEa35aeHF');
// pour entre
$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() ;
}
?> [/php]
pbl ds passage parametre car sans para c ok et test des proc direct sur mysql ok !
help
merci
et pourtant pas d'erreur