je suis un peu en galère pour un projet assez urgent, si quelqu'un avait quelques minutes à m'accorder ce serait super sympa.
j'ai besoin d'afficher des news sur une page web j'utilise un bout de code qui vient d'un tuto du site cependant je ne parviens pas à le faire fonctionner. j'ai toujours la même erreur : Fatal error: Uncaught Error: Call to a member function fetch() on boolean in /storage/ssd2/556/8502556/public_html/index.php:36 Stack trace: #0 {main} thrown in /storage/ssd2/556/8502556/public_html/index.php on line 36.
Le numero de ligne corresponds à while($donnees = $reponse->fetch()) .j'ai passé l'après midi à chercher en vain...
voici le code:
<?php
try
{
// connection à la base de donnée
$bdd = new PDO('mysql:host=db4free.net:3306;dbtestlm;charset=utf8', '*****', '******');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
// Si tout va bien, on peut continuer
// On récupère le contenu de la table news
$reponse = $bdd->query('SELECT * FROM news ORDER BY id DESC');
// On affiche chaque entrée
while($donnees = $reponse->fetch())
{
?>
<p>
<h2><?php echo $donnees['titre']; ?></h2><br />
<?php echo $donnees['contenu']; ?><br />
<?php echo $donnees['redacteur']; ?>
</p>
<?php
}
$reponse->closeCursor(); // Termine le traitement de la requête
?>
info qui peuvent être utile:
Ma page test est hébergée chez 000webhost.com et je n'y ais pas vu de limitation particulière en rapport avec ça.
j'ai vérifié chaque nom de la base de donnée, j'ai même refait une base de donnée sur un autre hébergement pour tester et toujours le même résultat...
ps: j'ai retiré volontairement le login et mdp dans le code.
> j'ai toujours la même erreur : Fatal error: Uncaught Error: Call to a member function fetch() on boolean
En cherchant sur le forum, tu devrais trouver des sujets à la pelle avec strictement la même erreur et où il est demandé d'activer les erreurs PDO/SQL, ce que tu n'as pas fait, donc tu vois indirectement la requête planter sans savoir pourquoi ...
Il faut te revoir comment on enregistre le dns pour la connexion PDO, il te manque "dbname" et le port ne se déclare pas ainsi, d'ailleurs pour le port mysql, le 3306 est celui par défaut donc pas besoin de le spécifier
- Edité par Aurélien10! 20 janvier 2019 à 18:39:26
Merci beaucoup pour ton aide j'ai un peu honte là j'ai cherché partout pendant longtemps pour une erreur aussi idiote ....
Encore merci!
Edit: Merci pour votre aide à vous deux, il est vrai que j'ai sauté des étapes à vouloir aller le plus vite possible et au final j'ai perdu plus de temps ...
- Edité par Lao 20 janvier 2019 à 18:44:43
[PDO][PHP] problème système de news
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP