TableNames
sont des identificateurs, ils ne doivent donc pas être entre guillemets simples. Puisque le tableName que vous avez utilisé n'est pas un mot-clé réservé, vous pouvez simplement supprimer ces guillemets autour,
INSERT INTO student (FirstName, LastName....
Lorsque vous enveloppez quelque chose avec des guillemets simples, cela force cet objet à devenir un littéral de chaîne. Ainsi, lorsque les identifiants sont entourés de guillemets simples, cela signifie qu'ils ne sont plus des identifiants.
Le serveur lève une exception car INSERT INTO
attend un identifiant non littéral.
Lorsque vous avez accidentellement utilisé un nom de table qui est un MySQL Reserved Mot clé
, n'utilisez pas de guillemet simple pour délimiter l'identifiant mais avec des backticks
.
En passant, la requête est vulnérable avec SQL Injection
si la valeur(s ) des variables provenaient de l'extérieur. Veuillez consulter l'article ci-dessous pour savoir comment l'éviter. En utilisant PreparedStatements
vous pouvez vous débarrasser de l'utilisation de guillemets simples autour des valeurs.