3 votes

La procédure stockée ne fonctionne pas avec l'appel PHP

Possible Duplicate:
Can't return a result set in the given context

Je essaie d'appeler une procédure stockée de base en utilisant PHP. Mais mysql produit une erreur comme "PROCEDURE softland.getAllProducts ne peut pas renvoyer un jeu de résultats dans le contexte donné".

Procédure stockée

 DELIMITER //
 CREATE PROCEDURE GetAllProducts()
 BEGIN
 SELECT *  FROM products;
 END //
 DELIMITER ;

Code PHP

".$row['name'];
}
echo "Succees";
 ?>

1voto

mabi Points 4066

Eh bien, cette réponse vient directement de la page php sur mysql_connect:

$this->con = mysql_connect($this->h,$this->u,$this->p,false,65536);

Cela permet à votre client mysql d'utiliser le support multi-déclarations (voir aussi les constantes du client mysql : http://php.net/manual/en/mysql.constants.php#mysql.client-flags)

0voto

user1391670 Points 213

Essayez ceci,

Function GetProducts($out)
{
    $query.= "CREATE PROCEDURE GetAllProducts() ";
    $query.= "BEGIN";
    $query.= "SELECT *  FROM products;";
    $query.= "END";
    return $query;
}

Dans le code mettez ceci,

$result = mysql_query(GetProducts());

J'espère que ça fonctionne !!

0voto

grossvogel Points 4562

Je pense que le problème est que vous utilisez les anciennes fonctions mysql au lieu de la nouvelle bibliothèque mysqli.

Essayez de suivre les exemples sur cette page du manuel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X