Page 1 sur 1

Procédure stockée renvoyant plusieurs tables

Posté : 20 juin 2013, 17:53
par Doudidou
Bonjour,

J'appelle en PHP une procédure stockée qui me renvoie plusieurs tableaux de résultats.

$db = NewADOConnection('sybase');
$query = ("execute blabla");
$res = $db->Execute($query);

La procédure stockée me renvoie deux tableaux, mais je n'arrive à récupérer les informations que du premier.
J'ai vu qu'il y avait la fonction NextRecordSet() mais je n'arrive pas à m'en servir, je fais $res->NextRecordSet() mais j'ai toujours le premier tableau...

Avez-vous des idées, sachant que je ne peux pas changer la façon dont je me connecte à la base ($db = NewADOConnection('sybase');) ?
Merci d'avance.

Re: Procédure stockée renvoyant plusieurs tables

Posté : 20 juin 2013, 20:47
par moogli

Re: Procédure stockée renvoyant plusieurs tables

Posté : 21 juin 2013, 09:22
par Doudidou
Bonjour,

Merci pour ta réponse.
J'ai testé le code qui était au lien que tu m'as donné, et ça ne fonctionne pas. En fait même quand je fais simplement :

$res = $db->Execute($query);
$fld = $res->FetchField(1);
echo $res->fields[0];

ça ne fonctionne pas.

Alors que quand je fais :

$res = $db->Execute($query);
$arr1 = $res->FetchNextObject();
echo $arr1->NB_CURRENCIES;

ça fonctionne (ça m'affiche la valeur de nb_currencies de la première ligne du premier tableau).

Avant que quelqu'un pose la question, non je ne peux pas modifier la procédure stockée qui me renvoie les tableaux...

Merci d'avance

Re: Procédure stockée renvoyant plusieurs tables

Posté : 21 juin 2013, 10:26
par Doudidou
Ah non c'est bon ça fonctionne, c'est juste que mon ADODB_FETCH_MODE était à ADODB_FETCH_ASSOC.
Par contre MoveNext() sert à aller à la ligne suivante, et non au tableau suivant...
Une autre idée ?

Re: Procédure stockée renvoyant plusieurs tables

Posté : 21 juin 2013, 10:43
par Mazarini
Peut être :
<?PHP
$res = $db->Execute($query);	
while ($arr1 = $res->FetchNextObject()) {
   echo $arr1->NB_CURRENCIES;
}
?>

Re: Procédure stockée renvoyant plusieurs tables

Posté : 21 juin 2013, 10:48
par Doudidou
C'est pareil, FetchNextObject renvoie la ligne suivante, et non le tableau suivant...
J'ai vu la méthode NextRecordSet() : http://phplens.com/adodb/reference.func ... rdset.html
Mais ça ne fonctionne pas...

Re: Procédure stockée renvoyant plusieurs tables

Posté : 21 juin 2013, 22:46
par moogli
c'est quoi la requête sql ?

c'est une requête avec des paramètres "out" ?

si oui il faut pas "bind" les résultats sur des "curseurs" ?


@+