MySQL et PDOStatement::nextRowset( )
Hello,
Certains parmi vous ont-ils déjà réussi à utiliser la méthode nextRowset( ) sous PDO avec une BdD MySQL ? Perso je me casse la tête dessus depuis hier...
La procédure stockée :
Code:
1 2 3 4 5
| CREATE PROCEDURE AGRUMES( )
BEGIN
SELECT 'Orange' ;
SELECT 'Pamplemousse' ;
END ; |
Le PHP :
Code:
1 2 3 4 5 6 7 8 9 10 11
| header('Content-Type: text/plain') ;
$pdo = new PDO('mysql:host=127.0.0.1;dbname=test_db', 'root', '') ;
$statement = $pdo->query('CALL AGRUMES( )') ;
do {
foreach ( $statement as $element ) {
print_r($element) ;
}
echo "------------\r\n" ;
} while ( $statement->nextRowset( ) ) ; |
Donne :
Code:
1 2 3 4 5 6
| Array
(
[Orange] => Orange
[0] => Orange
)
------------ |
Alors que j'attendrais plutôt :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Array
(
[Orange] => Orange
[0] => Orange
)
------------
Array
(
[Pamplemousse] => Pamplemousse
[0] => Pamplemousse
)
------------ |
Par contre pas de souci quand je passe par MySQLi :
Code:
1 2 3 4 5 6 7 8 9 10
| $link = mysqli_connect('127.0.0.1', 'root', '', 'test_db') ;
mysqli_multi_query($link, 'CALL AGRUMES( )') ;
do {
if ( $result = mysqli_use_result($link) ) {
while ( $row = mysqli_fetch_assoc($result) ) {
print_r($row);
}
echo "------------\r\n" ;
}
} while ( mysqli_next_result($link) ) ; |
Une idée ? Merci ;)