Procedure stockée (fin)

Résolu
Utilisateur anonyme - 5 déc. 2007 à 15:10
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 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;
?>

</html>

je me suis trompé où ?

3 réponses

yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
6 déc. 2007 à 02:47
Salut,

Fauderais que tu montre ta procedure pour qu'on puisse mieu comprendre!

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
3
Utilisateur anonyme
6 déc. 2007 à 08:41
begin
select cote*cote;
end
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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;

et toi ce que tu aurais du faire :

SET code=cote*cote;

j'imagine

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
0
Rejoignez-nous