Bonjour,

J'ai un problème avec cette procédure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
CREATE PROCEDURE `recRef`(IN refIn VARCHAR(255),IN libIn VARCHAR(255),IN condIn VARCHAR(255),IN nbrIn INT(11),IN idUser INT(11),IN idDirection INT(11),IN alert INT(11),IN idFour INT(11),IN idEnseigne INT(11),
        IN detail VARCHAR(255),IN commentaire VARCHAR(255),IN validerIn INT(11),IN priceIn DEC(65,2),IN idCat INT(11),IN priceunitIn INT(11),IN fdv INT(2),IN pdsIN DEC(65,2))
BEGIN
 
    INSERT INTO afalog_ref_marchandises (ref,lib,cond,nbr,id_utilisateurs,id_direction,seuil_alerte,id_fournisseur,id_enseigne,detail_val,commentaire_val,valider,price
    ,id_afalog_ss_category,priceunit,fin_de_vie,poids)
    VALUES (refIn,libIn,condIn,nbrIn,idUser,idDirection,alert,idFour,idEnseigne,detail,commentaire,validerIn,priceIn,idCat,priceunitIn,fdv,pdsIn);
    SELECT LAST_INSERT_ID();
END
elle est appelé ainsi (en php):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$query = "CALL recRef('$ref','$lib','$cond',$qts,$idUser,$idDir,$alerte,$idFour,$idEnseigne,'$detail','$commentaire',$val,$price,$idCat,$priceUnit,1,$pds)";
		mysql_query($query);
		$idRef = mysql_insert_id();
a l'appel de la procédure (dans phpmyadmin ou autre j'ai cette erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
PROCEDURE .recRef can't return a result set in the given context
Et impossible de récupérer l'id de l'insertion. Cette id doit être récupérer dans $idRef bien sur soit une function PHP qui appel la procédure.

Si j'essai dans mysql query, tout fonctionne parfaitement. L'insertion et j'affiche bien l'id.

Une idée du problème svp ?

Merci d'avance,