Fatal error: Call to a member function fetch() on a non-object
Résolu
suzette
-
abloinginfo Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
abloinginfo Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
lorsque je charge ma page dans mon navigateur j'ai cette erreur:
Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\blog\testblog.php on line 30
j'ai bo chercher, je ne vois pas à quoi c'est du.
Voici le code qui pose problème:
Merci de votre aide
lorsque je charge ma page dans mon navigateur j'ai cette erreur:
Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\blog\testblog.php on line 30
j'ai bo chercher, je ne vois pas à quoi c'est du.
Voici le code qui pose problème:
25$reponse = $bdd->query('SELECT id, titre, contenu, 26 DATE_FORMAT(date, \'%d/%m/%Y à %Hh%imin%ss\') AS dc_fr 27 FROM articles 28 ORDER BY date_creation DESC'); 29 30 while ($donnees = $reponse->fetch()) 31{ 32?> 33<div class="news"> 34 <h3> 35 <?php echo htmlspecialchars($donnees['titre']); ?> 36 <em>le <?php echo $donnees['dc_fr']; ?></em> 37 </h3> 38 39 <p> 40 <?php 41 // On affiche le contenu du billet 42 echo nl2br(htmlspecialchars($donnees['contenu'])); 43 ?> 44 <br /> 45 <em><a href="commentaires.php?billet=<?php echo $donnees['id']; 46?>">Commentaires</a></em> 47 </p> 48</div> 49<?php 50} 51$req->closeCursor();
Merci de votre aide
A voir également:
- Uncaught error: call to a member function fetch()
- Qwerty to azerty - Guide
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- A javascript error occurred in the main process - Forum Matériel & Système
- Press del to enter setup ✓ - Forum Windows
- Video to video - Télécharger - Conversion & Codecs
1 réponse
Salut !
l'erreur veut dire que $reponse n'est pas le bon type d'objet, et donc tu ne peux pas faire de fetch dessus.
Tu utilise quoi comme objet pour la bdd ? PDO ?
$bdd->query te renvois un objet PDOstatement, sur le quel il y a la fonction fetch.
Tu peux alors faire un fetch si $bdd->query renvois bien un objet PDOstatment,
donc si ta requete n'est pas bonne, $bdd->query ne renvois pas d'objet PDOstatement, donc tu ne peux pas faire de fetch
$reponse = $bdd->query('SELECT id, titre, contenu,
DATE_FORMAT(date, \'%d/%m/%Y à %Hh%imin%ss\') AS dc_fr
FROM articles
ORDER BY date_creation DESC');
Il doit y avoir un problème dans ta requete,
pour en etre sur, tu peux faire cela (si tu utilise PDO) :
$reponse = $bdd->query('SELECT id, titre, contenu,
DATE_FORMAT(date, \'%d/%m/%Y à %Hh%imin%ss\') AS dc_fr
FROM articles
ORDER BY date_creation DESC') or die(print_r($bdd->erroInfo()));
Jérémy
l'erreur veut dire que $reponse n'est pas le bon type d'objet, et donc tu ne peux pas faire de fetch dessus.
Tu utilise quoi comme objet pour la bdd ? PDO ?
$bdd->query te renvois un objet PDOstatement, sur le quel il y a la fonction fetch.
Tu peux alors faire un fetch si $bdd->query renvois bien un objet PDOstatment,
donc si ta requete n'est pas bonne, $bdd->query ne renvois pas d'objet PDOstatement, donc tu ne peux pas faire de fetch
$reponse = $bdd->query('SELECT id, titre, contenu,
DATE_FORMAT(date, \'%d/%m/%Y à %Hh%imin%ss\') AS dc_fr
FROM articles
ORDER BY date_creation DESC');
Il doit y avoir un problème dans ta requete,
pour en etre sur, tu peux faire cela (si tu utilise PDO) :
$reponse = $bdd->query('SELECT id, titre, contenu,
DATE_FORMAT(date, \'%d/%m/%Y à %Hh%imin%ss\') AS dc_fr
FROM articles
ORDER BY date_creation DESC') or die(print_r($bdd->erroInfo()));
Jérémy
En faite j'avais mal orthographie en champ de ma bdd, c'était titres avec un S à la fin et non titre.
En tout cas, merci pour ta réponse, et désolé pour ma question bete.