Rectifications avec PDO

Rectifications avec PDO - PHP - Programmation

Marsh Posté le 19-10-2015 à 01:39:08    

Bonsoir finalement je suis allé me replonger dans les cours disponibles sur le net traitant PDO notamment de la connexion aux bases de données de la gestion des erreurs avec je rappelle j'ai créé une base de données dénommée ''amateurs'' et qui contient une table dénommée ''agents'' ayant 3 colonnes suivantes : ''prenom'' ''nom'' ''adresse'' (il s'agit des noms de chaque colonne tels que je les ai écrits dans la base avec l'interface mysql de wamp ) et que j'ai rempli via un formulaire jusque là tout marche bien la table reçoit correctement touts les enregistrements que j'y envois.
Mais c'est quand je veux afficher les données de la table que j'ai des problèmes.
J'ai essayé d'utiliser le try/catch pour la connexion avec la base de données je pense l'avoir réussi car si j’exécute le code jusqu'à la ligne 13 le navigateur m'affiche une page blanche donc je cocois tel que j'ai rédigé le code qu'il n'y a pas d'erreur de connexion.
Je voudrais que quelqu'un me donne son avis sur le reste du code car le navigateur m'affiche les erreurs suivantes :
Notice: Undefined index: prenom in C:\wamp\www\Nouveau dossier (2)\Site2\pour_essayer.php on line 27
 
Notice: Undefined index: nom in C:\wamp\www\Nouveau dossier (2)\Site2\pour_essayer.php on line 27
 
Notice: Undefined index: adresse in C:\wamp\www\Nouveau dossier (2)\Site2\pour_essayer.php on line  
 
Je rappelle que la ligne 27 est celle qui correspond à l'avant derniere ligne du code ci dessous  :
 
echo $donnee['prenom'].':'.$donnee['nom'].':'.$donnee['adresse'].'<br/>';  
 
voici le code :
 
 
<html>
 
     <?php
   //tentative de connexion à la base de données
  try
                 {
       $conect = new PDO('mysql:host=localhost;dbname=amateurs','root','');
   }
                            catch (PDOException $e)
   {  
                             echo "Problème de connexion avec la base de donnée / Database error<br/>".$e->getMessage();
                             die();
                                           }
   
  try  
      {    
          $retour = $conect->query('SELECT * FROM agents');
                                    $donnee = $retour->fetchAll();
      }
  catch (PDOException $e)
      {  
           echo "Problème pour lire la base <br/>Opération annulée";
             die();
                                  }  
   
   
                           echo $donnee['prenom'].':'.$donnee['nom'].':'.$donnee['adresse'].'<br/>';    
         
  $base = null;
 
 ?>
       
     
</html>

Reply

Marsh Posté le 19-10-2015 à 01:39:08   

Reply

Marsh Posté le 20-10-2015 à 12:48:17    

salut,
A priori cela vient du fait que les champs prenom,nom et adresse n'existent pas.
l’idéal serait de faire un print_r($donnee) pour voir ce que renvoi fetchAll().
d'ailleurs je me demande si ça serait pas plutôt $donnee[prenom] sans les apostrophes.
en fait non c'est surement $donnee[0]['prenom'] puis $donnee[1]['prenom'] etc...
 
donc :

Code :
  1. foreach($donnee as $d) :
  2. echo  $d['prenom'].':'.$d['nom'].':'.$d['adresse'].'<br/>';
  3. endforeach;


Message édité par mrdus le 20-10-2015 à 13:42:13
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed