Erreur Undefined index

Résolu
Bonjour,

J'ai besoin d'aide. Je vous explique...
J'ai fait sur ma base de donnée
ALTER TABLE produits ADD images_alt text NOT NULL;
tout c'est bien passé

Sur une autre page

Apres avoir fait la connexion avec la base de donnée, je fais un echo du champs images_alt
<?php echo $donnees['images_alt']; ?>

J'ai cette erreur:
Notice: Undefined index: images_alt in C:\wamp\www\monsite\XXX\modifier.php on line 126 Call Stack #TimeMemoryFunctionLocation 10.0007719384{main}( )..\modify.php:0

j'ai essayé de faire isset(...), mais à part retirer le message, rien n'est echo alors qu'il y a des données dans la base.

Dans le fond c'est qu'il ne trouve tout simplement pas le champs images_alt.
Ais-je mal fait le ALTER TABLE? ou il y a t-il un autre probleme?

Je suis débutant, donc si on pouvait m'indiquer la réponse et m'expliquer aussi, ce serait génial.
Merci

6 réponses

  1. Bonjour,

    Tu as modifié ta table Produit, et tu fais ta requête sur ta table Images...

    Xavier
    1. très bon ;)
  2. il nous faudrait ta requete ou tu place dans donnees le retour de l'array de ta table (vu que tu dois faire un select, puis un fetch_array)
    1. Je fais comme ça.

      <?php
      include("includes/identification.php");

      // On protège la variable "modifier_image" pour éviter une faille SQL
      $id = mysql_real_escape_string(htmlspecialchars($_GET['idmodif']));

      // On récupère les infos de l'image correspondante
      $retour = mysql_query("SELECT * FROM images WHERE image_id= '$idmodif'");
      if(mysql_num_rows($retour)>0) {
      while ($donnees = mysql_fetch_array($retour))
      {
      ?>

      <?php echo $donnees['images_alt']; ?>

      <?php echo $donnees['images_name']; ?>
      <?php echo $donnees['images_color']; ?>

      <?php
      }
      }
      ?>

      Tout les autres echo marche sauf celui de images_alt
      Comme c'est le seul que j'ai rajouté en faisant AlTER TABLE, je me suis demandé si c'était pas à cause de ça.
      Si je l'avais pas mal fait ou je ne sais pas.

      Merci de m'aider
      1. bonjour,
        Déjà vous pouvez faire un SELECT * depuis un client SQL comme phpMyAdmin par exemple pour voir effectivement si la colonne est présente (et bien déclarée, renseignée...).

        Ensuite il y a la commande php suivante qui peut être sympa : bool array_key_exists ( mixed $key , array $search )

        ici çà donnerai :
        <?php 
          $donneeImgAlt = (array_key_exists('images_alt', $donnees) ? $donnees['images_alt'] : '');
         ?> 
        

        puis plus loin (par exemple au sein d'une balise IMG ... :
        <?php echo $donneeImgAlt; ?> 
        
        1. Merci pour votre réponse après avoir été sur phpMyAdmin, j'ai remarqué que la colonne n'était tout simplement pas créée.
          Je l'ai créé à partir de phpMyAdmin et ça marche !

          Merci boly et Reivax962

          Reivax962 voilà pourquoi je ne l'ai pas trouvé lol
          Je ferai plus attention

          merci à vous tous.