Erreur msql:You have an error in your SQL syntax

Son of God Messages postés 36 Date d'inscription mardi 2 octobre 2012 Statut Membre Dernière intervention 4 mars 2020 - Modifié par jordane45 le 30/07/2014 à 17:17
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 30 juil. 2014 à 19:08
Bonjour,

en essayant d'inserer des données sur ma table recois ce message d'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 ''0'/'41'*100,'1'/'41'*100,'1'/'41'*100,'1'/'41'*100,'41'/'41'*100,'0'/'41'*100,'' at line 1

et ma requete à moi se présente comme suit:
  $ma_requete2 = "INSERT INTO evaltpm(	'guerispercent'
                                        ,'traitachevespercent'
                                        ,'tsuccespercent'
                                        ,'decedespercent'
                                        ,'echecpercent'
                                        ,'interruptionspercent'
                                        ,'transferespercent'
                                        ,'tcevaluespercent'
                                        ,'tcnonevalpercent'
                                        ,'Centre'
                                        ) 
                        VALUES (
                                            '$var_gueris'/'$var_tcsave'*100
                                            ,'$var_traitacheves'/'$var_tcsave'*100
                                            ,'$var_tsucces'/'$var_tcsave'*100
                                            ,
                                            ,'$var_decedes'/'$var_tcsave'*100
                                            ,'$var_echec'/'$var_tcsave'*100
                                            ,'$var_interruptions'/'$var_tcsave'*100
                                            ,'$var_transferes'/'$var_tcsave'*100
                                            ,'$var_tcevalues'/'$var_tcsave'*100
                                            ,'$var_tcnoneval'/'$var_tcsave'*100
                                            ,'$var_Centre')";


merci déjà



Edit : Remise en forme du code

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
30 juil. 2014 à 17:17
J'ai remis en forme ton code en mettant à la ligne chaque champ / valeur..
Comme tu peux le constater.. tu as une virgule en trop....



PS :et je te conseille de faire les calculs EN DEHORS de ta requête.
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
30 juil. 2014 à 19:08
Bonsoir,

Pour ce bout de code:

'$var_gueris'/'$var_tcsave'*100


il faut pas mettre des variables entre ' ', sinon PHP n'interprête pas les valeurs....

Code corrigé:

$var_gueris / $var_tcsave * 100 


Ensuite, comme le dit si bien Jordane, faire les calculs avant requête SQL:

$guerispercent = $var_gueris / $var_tcsave * 100;


et plus loin, dans le code SQL:

....
VALUES (
   $guerispercent,
.....

0
Rejoignez-nous