Passage de variables

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 : Passage de variables

par George Abitbol » 18 janv. 2006, 15:21

Bon en fait c'est bon...
C'est moi qui me suis planté en appelant ma fonction...

par George Abitbol » 18 janv. 2006, 15:01

Merci !

Mais en fait c'est pas ça non plus... Et je pense avoir trouvé le problème, mais pourquoi ça fait ça, j'en sais rien...

Voilà ma vraie fonction :

Code : Tout sélectionner

function query_select($select, $from, $where = '', $order = '', $fetchmode = '') { [...] //On recupere les donnees dans un tableau $data = $db->getAll($query, array(), $fetchmode); [...] }
Et donc, c'est juste que le dernier paramètre ne passe pas (donc là, $fetchmode, mais ca merde aussi avec les autres, $order et $where, s'ils sont en dernier). Et je ne sais pas pourquoi, peut-être à cause de l'initialisation dans la déclaration (= '') ?

Merci encore pour ta réponse.

par IDNoires » 18 janv. 2006, 12:59

DB_FETCHMODE_ASSOC est une constante pas une chaine de caractères.
Essaie :
$fetchmode = DB_FETCHMODE_ASSOC; 
oups pardon j'édite... j'ai vu que tu avais déja essayé...
il faut que ton programme connaisse la constante avant de l'utilisé.
Procéde alors à l'include de la classe PEAR DB avant l'appel à ta fonction query_select.

Passage de variables

par George Abitbol » 18 janv. 2006, 11:33

Bonjour,

J'ai l'impression que ma question va etre stupide, mais comme je n'y arrive pas, je demande.

J'utilise le package DB de Pear.
J'ai une fonction genre :

Code : Tout sélectionner

function query_select($query, $fetchmode) { [...] //On recupere les donnees dans un tableau $data = $db->getAll($query, array(), $fetchmode); [...] }
et du code genre :

Code : Tout sélectionner

[...] $query = 'SELECT * FROM bidule'; $fetchmode = 'DB_FETCHMODE_ASSOC'; query_select($query, $fetchmode) [...]
Donc mon problème se situe au niveau du fetchmode dans le getAll, la syntaxe ressemble à ça (d'après la doc):

Code : Tout sélectionner

$data = $db->getAll('SELECT cf, nf, df FROM foo', array(), DB_FETCHMODE_ASSOC);
Donc le paramètre fetchmode de getAll, ce n'est pas une chaine de caractère, c'est pas un numérique, je sais pas ce que c'est, et du coup j'arrive pas le faire passer dans la fonction et donc forcement ça ne marche pas, mais quand je le mets directement en dur dans la fonction getAll, ça fonctionne.
Donc j'ai essayé :
$fetchmode = 'DB_FETCHMODE_ASSOC' (opu avec " ") ou $fetchmode = DB_FETCHMODE_ASSOC, mais rien.

Je ne sais pas si j'ai, été très clair, mais si quelqu'un çà compris et sait comment faire, je serais ravi de les avoir aussi.

Merci d'avance !