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

Requêtes MySQL Discussion :

You have an error in your SQL syntax; check the manual ..


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    You have an error in your SQL syntax; check the manual ..
    Bonjour à tous,
    Je travaille avec PHP4, MySQL 5, MyAdmin 2.6.3, hébergé chez Free.fr

    J'ai une erreur :
    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
    Or quand je fais ma requête directement dans MySQL elle est correcte, et quand elle est faite depuis ma page PHP elle fonctionne mais laisse apparaître cette erreur !! Je ne vois pas d'où vient le problème
    Voici ma requête :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    UPDATE `catalogue` SET auteur='DEGOTTEX', titre='ceci est un titre ', serie='test', ladate='1968-01-02', ill_recto='test', ill_verso='test', dimension='test', techniques='test', proprietaires='test', description='test', expositions='test', citation='test', mention='test', destruction=1, signature='test', signes='test' WHERE id=2

    et voila mon code PHP :
    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
     
    $sql2="UPDATE `catalogue`  
    	   	SET auteur='".$auteur."', 
    		titre='".$titre."', 
    		serie='".$serie."', 
    		ladate='".$ladate."', 
    		ill_recto='".$ill_recto."', 
    		ill_verso='".$ill_verso."', 
    		dimension='".$dimension."', 
    		techniques='".$techniques."', 
    		proprietaires='".$proprietaires."', 
    		description='".$description."', 
    		expositions='".$expositions."', 
    		citation='".$citation."', 
    		mention='".$mention."', 
    		destruction=".$destruction.", 
    		signature='".$signature."', 
    		signes='".$signes."' 
    		WHERE id=".$cid;
    	echo $sql2."<br />";
    	$query2=mysql_query($sql2) or die(mysql_error());

    Franchement si quelqu'un a une idée ou a déjà rencontré cette situation son aide sera la bienvenue.

  2. #2
    Membre éclairé
    pourquoi as-tu mis le nom de ta table catalogue entre ces signes "`", ça me paraît bizarre...

  3. #3
    Membre du Club
    bonjour gerald2545
    le signe bizarre (touche 7, accent grave) on peut le mettre ou pas, j'ai remarqué qu'on le trouvait dans les dump(s) générés par MySQL. Mais ça marche aussi bien sans.

  4. #4
    Expert confirmé
    Un petit coup de fatigue ???

    Besoin de lunettes ?

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    destruction='".$destruction.",
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  5. #5
    Membre du Club
    salut qi130
    yep avec la chaleur y'a un petit coup de fatigue, mais je n'ai pas besoin de quote pour mon champ destruction puisque il est en tinyint, le type est donc numérique.

  6. #6
    Membre du Club
    Bon j'ai trouvé l'origine du problème : c'est moi !
    Toujours vérifier la structure d'une base de donnée surtout quand on ne l'a pas faite . On ne donne pas le nom de 'ID' à un champ et particulièrement quand c'est une clef. Bref j'ai corrigé et tout marche, le php comme la requête.

    Voila c'était tout bète. je vais peut être m'acheter des lunettes

###raw>template_hook.ano_emploi###