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 de syntaxe sur une requête


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 142
    Par défaut Erreur de syntaxe sur une requête
    Bonjour a tous,
    J'ai comme stipulé dans le titre une erreur de syntaxe sur une requête.

    message d'erreur:

    Erreur 1 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 '' at line 1

    ligne concernée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	if ($envoi_news=mysql_query($requete_news) or die ('Erreur 1 <font color="#C00000">'.mysql_error().'</font>'))
    Code complet sans le HTML:

    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
    <?php session_start(); 
     
    if (!isset($_SESSION['login'])) { 
       echo "<center>Bienvenue dans l'espace d administration</center></br>";   
    }  
    ?>
     
    <?php include('includes/sql_connect.php');
     
    $requete_news="SELECT * FROM news WHERE news_id=$_POST[news_id]";
    	if ($envoi_news=mysql_query($requete_news) or die ('Erreur 1 <font color="#C00000">'.mysql_error().'</font>'))
    		{
    		if ($data_news=mysql_fetch_array($envoi_news) or die ('Erreur 2 <font color="#C00000">'.mysql_error().'</font>'))
    			{
    				$news_modification=str_replace("[MSG_ID]",$data_news["news_id"],$news_modification);
    				$news_modification=str_replace("[MSG_TITRE]",$data_news["titre"],$news_modification);
    				$news_modification=str_replace("[MSG_CONTENU]",$data_news["texte"],$news_modification);
    			}
    		        mysql_free_result($envoi_news) or die ('Erreur 3 <font color="#C00000">'.mysql_error().'</font>');
    		}				
    					?>

  2. #2
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bonsoir ! Normal je pense que comme ca, ca marchera mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete_news="SELECT * FROM news WHERE news_id=".$_POST['news_id']."";

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 142
    Par défaut
    D'accord je pensais que la concaténation n'était pas obligatoire j'essaye et vous tien au courant.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 142
    Par défaut
    Donc sa ne viens pas de la car j'ai toujours la même erreur
    Je continue mes recherches je vous prévient si je trouve.

  5. #5
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Ok ^^ Tu es bien sur que $_POST['news_id'] n'est pas vide ou existe? Je veux dire tu as fait des test dessus?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Par défaut
    Bonjour,

    Je préfère aussi la solution de la concaténation afin de mieux voir le code et profiter de la colorisation ;-).

    Donc, Malgré que ce soit un int ta variable $_POST['new_id'], je la mettrai entre quote:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete_news="SELECT * FROM news WHERE news_id='" . $_POST['news_id'] . "'";
    De plus dans ton exemple, il était écris $_POST[new_id] sans les quotes... Alors soit il manquait le $ pour faire une variable ou entre quote pour le nom de la référence... Mais j'ai peut-être tord.. Je n'utilise plus les chaines avec le double quote et les variables à l'intérieur des chaines...

    Bon courage.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 142
    Par défaut
    Donc voila ce qu'il en est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php include('includes/sql_connect.php');
     
    $requete_news="SELECT * FROM news WHERE news_id='.$_POST[news_id].'";
    	if ($envoi_news=mysql_query($requete_news) or die ('Erreur 1 <font color="#C00000">'.mysql_error().'</font>'))
    		{
    		if ($data_news=mysql_fetch_array($envoi_news) or die ('Erreur 2 <font color="#C00000">'.mysql_error().'</font>'))
    			{
    				$news_modification=str_replace("[MSG_ID]",$data_news["news_id"],$news_modification);
    				$news_modification=str_replace("[MSG_TITRE]",$data_news["titre"],$news_modification);
    				$news_modification=str_replace("[MSG_CONTENU]",$data_news["texte"],$news_modification);
    			}
    		        mysql_free_result($envoi_news) or die ('Erreur 3 <font color="#C00000">'.mysql_error().'</font>');
    		}				
    					?>
    Maintenant j'ais une erreur qui est :

    Erreur 2 mais sans message d'erreur.

Discussions similaires

  1. [MySQL] erreur de syntaxe sur une requête très simple
    Par Anandamine dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 01/06/2012, 09h45
  2. Erreur de syntaxe sur une requête d'insertion
    Par Moustic74 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/12/2008, 17h34
  3. Erreur de syntaxe dans une requête SQL
    Par amnesias dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/01/2007, 12h50
  4. Erreur de syntaxe sur une requête paramétrée
    Par deglingo37 dans le forum Access
    Réponses: 5
    Dernier message: 16/05/2006, 22h21
  5. [MySQL] Erreur de syntaxe sur ma requête SELECT
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 08/03/2006, 11h50

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