Procédure stockée renvoyant plusieurs tables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Procédure stockée renvoyant plusieurs tables

Re: Procédure stockée renvoyant plusieurs tables

par moogli » 21 juin 2013, 22:46

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" ?


@+

Re: Procédure stockée renvoyant plusieurs tables

par Doudidou » 21 juin 2013, 10:48

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

par Mazarini » 21 juin 2013, 10:43

Peut être :
<?PHP
$res = $db->Execute($query);	
while ($arr1 = $res->FetchNextObject()) {
   echo $arr1->NB_CURRENCIES;
}
?>

Re: Procédure stockée renvoyant plusieurs tables

par Doudidou » 21 juin 2013, 10:26

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

par Doudidou » 21 juin 2013, 09:22

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

par moogli » 20 juin 2013, 20:47

Procédure stockée renvoyant plusieurs tables

par Doudidou » 20 juin 2013, 17:53

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.