Utilisateur anonyme
-
5 déc. 2007 à 15:10
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
7 déc. 2007 à 14:30
C'est encore moi.....
Impossible de lancer ma proc stockée a partir d'une page web dont voici l'erreur :
requête SQL:
call sdz( 9 )
MySQL a répondu:Documentation
#1312 - PROCEDURE essai.sdz can't return a result set in the given context requête SQL:
call sdz( 9 )
MySQL a répondu:Documentation
#1312 - PROCEDURE essai.sdz can't return a result set in the given context
et le code :
<html>
<head>
</head>
<?
include("connexion.php");
Echo "Appel de la procedure stockée";
$appel = "CALL sdz(9);";
$req = mysql_query($appel,$res) or die ("Execution impossible de la requete");
$resultat = mysql_result($req,0,0);
echo "Le resultat est de ".$resultat;
?>
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 7 déc. 2007 à 14:30
salut
faudrait un code complet... ca serait plus facile pour t'aider...
c'est pas comme ca qu'on fait une requete dans une procedure, c'est plutot comme ca :
CREATE FUNCTION ListCategories(param INT UNSIGNED, mask TEXT)
RETURNS TEXT DETERMINISTIC
BEGIN
DECLARE t TEXT;
DECLARE r TEXT;
DECLARE i INT;
DECLARE done INT DEFAULT 0;
DECLARE cur CURSOR FOR SELECT (SELECT `name` FROM `quotes_categories` WHERE `id`=`id_quote_category` LIMIT 1) as `name`, `id_quote_category` FROM `quotes_categorised` WHERE `id_quote` = param;
DECLARE CONTINUE HANDLER FOR SQLSTATE \'02000\' SET done = 1;
OPEN cur;
set r="";
REPEAT
FETCH cur INTO t, i;
IF NOT done THEN
SET t=REPLACE(mask, "{NAME}", t);
SET t=REPLACE(t, "{ID}", i);
SET r=CONCAT(t, " | ", r);
END IF;
UNTIL done END REPEAT;
CLOSE cur;
RETURN r;
END;