Fatal error: Call to a member function fetch() on a non-object
Résolu
suzette
-
abloinginfo Messages postés 1 Statut Membre -
abloinginfo Messages postés 1 Statut Membre -
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
- A disk read error occurred ✓ - Forum Windows
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.