IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur sur une colonne [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Par défaut Erreur sur une colonne
    voila mon souçi , j'ai modifier un script de messagerie interne afin de l'integrer aux pages membres de mon site le probleme viens du fait de la boite de reçeption voila le code de ma pages membres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>bienvenue</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       </head>
     
       <body>
    <div align="center"> 
    <table border="1" width="90%">
        <tr>
     
            <td width="100%" colspan="3" align="center"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">
            <param name="movie" value="tmpl056_34901163c215f2.swf">
            <param name="quality" value="high">
            <embed src="tmpl056_34901163c215f2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60" ></embed>
           </object> </td>
     
        </tr>
     
        <tr>
     
            <td width="20%" align="center"><a href="indexc.php">acceuil</a><br/><a href="index.php">deconnection</a><br/><a href="envoyer.php">envoyer un message</a><br/><!-- Code HTML service Compteur live de Hawa Tools -->
    <script type="text/javascript" src="http://www.hawatools.com/service-cpt-live/compteur.php?id_membre=10262&id=2303&visible=1"></script>
    <noscript>
    <a href="http://www.hawatools.com" target="_blank" title="Services gratuits pour webmasters">Compteur gratuit</a>
    </noscript>
    <!-- Code HTML service Compteur live de Hawa Tools --></td>
     
            <td width="60%" align="center"><div align="center">
           <p><h4>bienvenue : <?php echo $_COOKIE["pseudo"]; ?></P></h4><br/><br/>
    	   <a href="photo.php">votre photo</a>
           </div><?php $base = mysql_connect ('localhost', 'xxxxxxx', 'xxxxxxx');  
    mysql_select_db ('xxxxxxx', $base);    
    // on prépare une requete SQL cherchant tous les titres, les dates ainsi que l'auteur des messages pour le membre connecté  
    $sql = 'SELECT titre, date, pseudo.id as exp, message.id as id FROM message, inscri WHERE id="'.$_COOKIE['id'].'" AND id_exp=pseudo.id ORDER BY date DESC';  
    // lancement de la requete SQL  
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
    $nb = mysql_num_rows($req);  
     
    if ($nb == 0) { 
       echo 'Vous n\'avez aucun message.';  
    }  
    else { 
       // si on a des messages, on affiche la date, un lien vers la page lire.php ainsi que le titre et l'auteur du message 
       while ($data = mysql_fetch_array($req)) { 
          echo $data['date'] , ' - <a href="lire.php?id=' , $data['id'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a> [ Message de ' , stripslashes(htmlentities(trim($data['exp']))) , ' ]<br />'; 
       }  
    }  
    mysql_free_result($req);  
    mysql_close();  
    ?>
     
     
     </td>
     
     
        </tr>
    	<tr>
    	</tr>
     
     
        <tr>
     
            <td width="100%" colspan="3" align="center"></td>
     
        </tr>
     
     
    </table> 
    </div> 
     
       </body>
    </html>
    voila l'erreur retourné par sql :SELECT titre, date, pseudo.id as exp, message.id as id FROM message, inscri WHERE id="1" AND id_exp=pseudo.id ORDER BY date DESC
    Column 'date' in field list is ambiguous
    j'ai deux tables dans ma base : une inscri et une message ! est ce que quelqu'un pourrais m'aider ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour,

    D'abord "date" est un mot reservé mysql, il est deconseillé de l'utiliser comme nom de colonne.
    Ensuite, tu dois juste préciser dans ta requete de quelle colonne "date" tu parles message.date ou inscri.date.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Par défaut
    bonjour sabotage , pourrais tu me préciser ou il faudrais que je l'indique en sachant que c'est la dates des messages ! peux tu me dire pourquoi c'est déconseillé de le mettre comme colonnes ? merçi

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est deconseillé car c'est un mot reservé qui a un sens dans une requete pour l'interpreteur mysql.

    Il faut que tu precises dans ta requete de quel "date" tu parles a chaque fois que tu designes le champ.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 125
    Par défaut
    pourrais tu me mettre un bout de code pour m'aider un peu stp car la je suis un peu perdu , je t'en serais vraiment reconnaissantt ?

  6. #6
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 495
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 495
    Par défaut
    salut,
    ce que sabotage voulait dire est que ta table a mal ete pensee lors de sa creation. En effet, elle comporte une colonne nommee date, qui, comme l'a precise sabotage, le mot date (correspondant a ta colonne) est interprete comme une valeure date pour mysql.

    alternative N°1 : changer le nom de la colonne date par autre chose
    (je te conseil cette alternative...)

    alternative N°2 : essayer tes requetes avec des accents graves ` (la touche Alt Gr + 7)
    ce qui donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'SELECT titre, `date`, pseudo.id as exp, message.id as id FROM message, inscri WHERE id="'.$_COOKIE['id'].'" AND id_exp=pseudo.id ORDER BY `date` DESC';
    mais cette alternative est source d'oublis/erreurs
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/07/2010, 11h02
  2. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00
  3. Contraite NULL sur une colonne en fonction d'une autre colon
    Par speedy1496 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2004, 19h29
  4. Trigger sur une colonne ?
    Par hpalpha dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 14h16
  5. Check sur une colonne de table "en cours"
    Par in dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/07/2003, 09h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo