probleme d'affichage de mes enregistrements

Eléphanteau du PHP | 30 Messages

16 oct. 2015, 03:53

Bonjour,
je suis nouveau en programmation, j'ai un probleme avec mon code qui doit me permettre d'afficher les enregistrements contenus dans ma base de données ( amateurs) plus précisément dans ma table (agents) qui comporte les colonnes ''prenom", ''nom'' , ''adresse'
mais wamp me signale l'erreur suivante :
Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\Nouveau dossier (2)\Site2\pour_essayer.php on line 7
j'ai beau fouiné dans la toile à la recherche d'une solution , je l'avoue tout ce que j'ai trouvé une multitudes de solutions et de reponses que j'ai tentées d'appliquer à chaque qu'il me semblait y avoir compris queque chose, ,alheureusement toutes mes tentatives sont réstée vaine .
Est ce que quelqu'un pourrait m'aider à trouver une solution avec des explications simple facile à comprendre pour un débutant comme moi avec des expréssions moins techniques de pros car je m'y perds souvent
mon code:

Code : Tout sélectionner

<html> <?php $bdd = new PDO('mysql:host=localhost;dbname=amateurs','root',''); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $req1 = $bdd->query('SELECT * FROM agents ); while($donnees = $req1->fetch()); { echo $donnees['prenom'].':'.$donnees['nom'].':'.$donnees['adresse'].'<br/>'; } ?> </html>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

16 oct. 2015, 08:40

Bonjour,
Fatal error: Call to a member function fetch() on a non-object in ...
Ça veut dire qu'en faisant ça ;
$req1->fetch()
PHP ne peut pas exécuter fetch car $req1 est incorrect.

Donc soit ta requête située la ligne au dessus a plantée (il manque une guillemet dans ton copier-coller d'ailleurs)
Soit c'est ta connexion à ta bdd qui n'a pas marché (et donc le query() ensuite a échoué aussi)

L'utilisation d'un try/catch t'aurait permis de voir immédiatement le soucis : http://php.net/manual/fr/pdo.error-handling.php
Quand tout le reste a échoué, lisez le mode d'emploi...