Bonjour,

Je rencontre un problème pour utiliser certaines procédures stockées avec PDO. Je n'arrive pas à récupérer les paramètres de sortie et plusieurs resultset.
Un exemple vallant mieux qu'une longue explication, voici une procédure stockée illustrant mon problème :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
CREATE PROCEDURE `operations`(IN i1 INT, IN i2 INT, OUT o1 VARCHAR(100))
BEGIN
 
SELECT i1+i2 AS Addition;
SELECT i1-i2 AS Soustraction;
SELECT i1*i2 AS Multiplication;
 
IF i2 != 0 THEN
  SELECT i1/i2 AS Division;
  SET o1 = 'Tout est Ok';
ELSE
  SET o1 = 'Division par 0 impossible';
END IF;
 
END
2 paramètres en entrée, un paramètre en sortie et 3 ou 4 resultset.

J'ai retourné dans tous les sens les différentes possibilités d'utilisation de PDO mais impossible de récupérer le paramètre de sortie et les resultsets !
Suivant la méthode utilisée, j'ai des erreurs différentes :
- Nombre de paramètres incorrect
- Demande d'utilisation de MYSQL_ATTR_USE_BUFFERED_QUERY (aucune différence avec ou sans)
- Resultset ok mais paramètre de sortie non initialisé (ou inversement)

Bref, je suis à cours d'idée, donc si quelqu'un peut tester ce type d'appel et me dire quelle est la syntaxe exacte ou si tout simplement il est impossible de traiter ce genre de procédure avec PDO ce serait sympa.

Pour info je suis sur un serveur Linux avec PHP 5.3 et MySQL 5.1

Merci d'avance pour votre aide.