Page 1 sur 1

comprendre le probleme fetch()

Posté : 26 févr. 2015, 11:40
par benW94
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 :)

Re: comprendre le probleme fetch()

Posté : 26 févr. 2015, 13:31
par tof73
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.

Re: comprendre le probleme fetch()

Posté : 26 févr. 2015, 14:15
par benW94
okay thx