comprendre le probleme fetch()

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 : comprendre le probleme fetch()

Re: comprendre le probleme fetch()

par benW94 » 26 févr. 2015, 14:15

okay thx

Re: comprendre le probleme fetch()

par tof73 » 26 févr. 2015, 13:31

pour pouvoir parcourir les résultats d'une requête, il faut au préalable l'exécuter, ce qui n'a pas été fait dans le 1er cas.

comprendre le probleme fetch()

par benW94 » 26 févr. 2015, 11:40

Salut, je viens d'avoir un petit problème avec la fonction fetch() que j'ai résolu par moi-même mais je n'ai pas compris pourquoi le problème a été résolu.

Voila mon ancien code : (la connexion à la base de données et la variable $region ont été faite et initialisée juste avant)
$req = $bdd->prepare('SELECT * FROM localisation WHERE region = ' . $region . ' ORDER BY id_logement DESC');

while($reponse = $req->fetch())
...
La il y avait une erreur "Call to a member function fetch() on boolean".
J'ai résolu le problème en écrivant la requete sql en préparée comme ceci :
$req = $bdd->prepare('SELECT * FROM localisation WHERE region = ? ORDER BY id_logement DESC');
$req->execute(array($region));

while($reponse = $req->fetch())
...
Voila je voudrais juste comprendre l'erreur, est-ce que php lit un booléen dans le premier cas? comment est-ce qu'il comprend le deuxieme cas par rapport au premier? ou est-ce qu'il y avait juste une erreur dans le sql dans le premier cas?..

Merci d'avance :)