Probleme fonction fetch () ;

Fermé
barilona Messages postés 2 Date d'inscription jeudi 25 avril 2013 Statut Membre Dernière intervention 27 avril 2013 - 27 avril 2013 à 16:46
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 28 avril 2013 à 01:51
Bonjour,



j'ai un problème au niveau de la fonction fetch () quelqu'un m'aider svp et merci

l'erreur :Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\yakbir\bilet.php on line 21


<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="meh.css"
<meta charset="utf-8" />
<title>mon blog</title>
</head>
  <body>
 <h1>Mon super blog !</h1>
 <p>Derniers billets du blog :</p>
 <?php

try
  {
   $bdd = new PDO('mysql:host=localhost;dbname=teste;charset=utf8','root','',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
   }
 catch(Exeption $e) {
  die ('Erreur'. $e->getMessage()) ;
  }
   $req =$bdd->query('SELECT id,titre,contenu,FORMAT_DATE(date-creation,\' %d/%m/%y %Hh%imin%ss \') AS date-creation-fr FROM billets ORDER BY date-creation DESC LIMIT 0,5');
   while ($donnees =$req->fetch())
   {
   ?>
   <div class="news">
   
   <h3>
   <?php echo htmlspecialchars($donnees['titre']); ?>
   <em>le <?php echo $donnees['date_creation_fr']; ?></em>
   </h3>
   <p>
  <?php
  // On affiche le contenu du billet
  echo nl2br(htmlspecialchars($donnees['contenu']));
  ?>
  <br />
  <em><a href="commentaires.php?billet=<?php echo $donnees['id']; ?>">Commentaires</a></em>
  
  </p>
  </div>
  <?php
   } // Fin de la boucle des billets
  $req->closeCursor();
  ?>



</body>
</html>
A voir également:

1 réponse

jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
28 avril 2013 à 01:51
Salut !

Ah mon avis, t'as requete n'as pas fonctionné et ton query à retourner false, donc $donnees est de type boolean, donc le fetch() ne marche pas.
D'où l'erreur ! Pour voir les erreurs de requete de PDO, met un or die(print_r($bdd->errorInfo()); sur la même ligne que query
0