Erreur SQL

Bonjour,

J'ai ce code :
$sql = mysql_query('SELECT id, titre, contenu, categorie, auteur, image,  DATE_FORMAT(date, \'%d %M %Y \') AS date FROM news WHERE id = '.$_GET['id']).'';


Et, il me donne' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #3' at line 1'.

Je pense que c'est une erreur de syntaxe ou il y a la variable GET.
PS : la version de MySQL est 4.1.22 .

Merci d'avance .

22 réponses

  1. modifie ça
    WHERE id = '.$_GET['id']).'';


    par

    WHERE id = '.$_GET['id'].' ');


    window XP
    1
    1. Essai en mettant le get en une variable
      1
      1. tu es bien en récupération $_GET?
        1
        1. Essaye WHERE id = ".$_GET['id']").';
          0
          1. Cela fait toujours la même erreur .
            Toujours la même chose .
            Si non quand je met ce que m'a dit digsaw_, cela me met :
            "Parse error: syntax error, unexpected T_STRING in..."

            Si non merci pour cette réponse rapide
            0
            1. Oui.

              Quand j'essaie de faire cela : $id = $_GET['id']

              Toujours la même erreur qu'au debut !
              0
              1. si tu passe ta requete directement dans mysql ça donne quoi?
                0
                1. si tu fais:
                  echo $sql = "SELECT id, titre, contenu, categorie, auteur, image,  DATE_FORMAT(date, \'%d %M %Y \') AS date FROM news WHERE id = ".$_GET['id'];
                  
                  $sql = mysql_query($sql);
                  


                  tu prends l'echo et tu le passe directement dans mysql
                  0
                  1. Il me dit qu'il y a une erreur SQl !
                    Si non, merci à toi pour ton attention ^^
                    0
                    1. Erreur SQL c'est ce qui marque
                      Voici le code complet :

                      $id = $_GET['id']; 
                      
                      echo $sql = "SELECT id, titre, contenu, categorie, auteur, image,  DATE_FORMAT(date, \'%d %M %Y \') AS date FROM news WHERE id = ".$_GET['id']; 
                      
                      $sql = mysql_query($sql); 
                      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());   
                      $donnees = mysql_fetch_array($req);
                      0
                      1. si tu passe ta requete dans phpmyadmin dans l'onglet sql il devrait te retourner l'erreur complète
                        0
                        1. #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'echo $sql = &quot;SELECT id, titre, contenu, categorie, auteur, image,  DATE_FORMAT(d' at line 1 
                          0
                          1. il te faut mettre juste le resultat de l'echo dans phpmyadmin pas le code php
                            0
                            1. ahhh.... dsl ^^
                              Quand je rentre l'erreur il me dit seulement que c'est une errreur #1064...
                              #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'%d %M %Y \') AS date FROM news WHERE id = 4Erreur SQL !' at line 1
                              0
                              1. tu peux faire ta requete sans les antislash de la date : DATE_FORMAT(date, '%d %M %Y')
                                0
                                • 1
                                • 2