Bonsoir tous le monde
Hier j'avais créé une procédure stockée mysql qui retoune plusieurs ligne, et donc tous marche bien, j'exécute sur la console et ça me retourne toutes les lignes,
juste après j'ai essayé d'exécuter la procédure en pdo, et puis (normalement) , et ça me retourne toujours la 1ère ligne, d'ou l'erreur peut elle provenir ?

procedure stocké;

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
17
18
 
CREATE DEFINER=`root`@`localhost` PROCEDURE `liste_films`()
BEGIN
       DECLARE done INT DEFAULT 0;
       DECLARE var_id INT;
       DECLARE var_nom VARCHAR(40);
       DECLARE curseur1 CURSOR FOR SELECT id, nom FROM film;
 
       OPEN curseur1;  
       REPEAT
               FETCH curseur1 INTO var_id, var_nom;
               IF done = 0 THEN
                       SELECT var_id, var_nom;
               END IF;
       UNTIL done
       END REPEAT;
 
       CLOSE curseur1; END
code php PDO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$user = "root";
$pass = "";
$db   = new PDO('mysql:host=localhost;dbname=abachoum', $user, $pass);
$stmt = $db->prepare("CALL Liste_Films()");			
$nbrligneretournee = $stmt->execute();
$result = $stmt->fetchAll();
print_r($result);
echo $nbrligneretournee; // affiche 1
code php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
mysql_connect('localhost','root','');
mysql_select_db('abachoum');
$donnees = mysql_query("CALL Liste_Films()") or die(mysql_error());
while( $resultat = mysql_fetch_array($donnees) ) {
      print_r($resultat);
      echo '<br \>';
}
merci d'avance pour votre aide