Bonjour à tous,

j'ai un problème dont la solution doit être toute simple mais rien à faire, je ne trouve pas:


$req = $bdd->prepare('SELECT reponse FROM table WHERE lieu= :lieu');
$req->execute(array('lieu' => $_GET['lieu']));
		
$donnees = $req->fetch();
		
var_dump($req->fetchAll());


Lorsque j'exécute ce code, fetchAll me renvoie toujours que mon tableau est vide, or ce n'est normalement pas le cas, j'ai bien des données dans la bdd qui correspondent!
Merci Smiley smile
Modifié par maud01 (03 Apr 2015 - 09:17)
Question idiote: y a t il quelque chose dans $_GET['lieu'] ?
Un petit "echo" pour s'en assurer ne serait peut être pas inutile?
Modifié par PapyJP (03 Apr 2015 - 09:34)
Bonjour,

(j'ai bien appris qu'en code il n'y avait pas de questions idiotes la réponse peut être aussi simple que cela Smiley smile )

oui il y a bien quelque chose dans $_GET['lieu'], je m'en suis assurée avec echo (la variable me provient de ma page d'accueil, c'est un champ à renseigner par l'utilisateur)
Je m'en doutais un peu, mais on ne sait jamais.
As tu essayé de mettre la valeur en dur pour voir ce qui se passe?

Je suppose que oui, mais comme il y a manifestement un zombie quelque part et qu'on ne le voit pas à la simple lecture, je propose d'utiliser ma méthode de Descartes : découper le problème en autant de petite parties dont chacune ait une solution évidente.
Comme quoi au 17ème siècle il avait déjà tout compris!
Non, même avec une requête aussi simple que cela:


$req = $bdd->query('SELECT reponse FROM table WHERE lieu= \'paris\'');
		
while ($donnees = $req->fetch())
	{
	echo $donnees['reponse'];
         }	


rien ne s'affiche
Bon, on a déjà éliminé pas mal de sources d'erreur(s)!
Autre question stupide: tu as bien une séquence du genre

        try {
                $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'db_name', 'db_password', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
         }
         catch (Exception $e) {
                 die('Erreur : ' . $e -> getMessage());
          }
            

en tête de ton code php? Et si oui es tu sûre que c'est bien dans une portion de code exécutée?
Merci énormément j'ai trouvé! Le champ lieu a été enregistrés dans ma bdd par des checkbox et ils étaient entourés de ' '. Je croyais que c'était normal pour des checkbox, qu'elles s'enregistraient comme cela mais apparemment non, je dois juste les retirer, je le saurai pour la prochaine fois! Merci encore et bonne journée
maud01 a écrit :
Merci énormément j'ai trouvé! Le champ lieu a été enregistrés dans ma bdd par des checkbox et ils étaient entourés de ' '. Je croyais que c'était normal pour des checkbox, qu'elles s'enregistraient comme cela mais apparemment non, je dois juste les retirer, je le saurai pour la prochaine fois! Merci encore et bonne journée

Pas de quoi et à charge de revanche!
Joyeuses Pâques