TableNames
adalah Identifier sehingga tidak boleh dikutip dengan tanda kutip tunggal. Karena tableName yang Anda gunakan bukan kata kunci yang dicadangkan, Anda dapat dengan mudah menghapus tanda kutip yang membungkusnya,
INSERT INTO student (FirstName, LastName....
Saat Anda membungkus sesuatu dengan tanda kutip tunggal, itu memaksa objek itu menjadi string literal. Jadi ketika pengidentifikasi dibungkus dengan tanda kutip tunggal, itu berarti mereka bukan pengidentifikasi lagi.
Server mengeluarkan pengecualian karena INSERT INTO
mengharapkan pengenal bukan string literal.
Ketika Anda secara tidak sengaja menggunakan nama tabel yang merupakan MySQL Reserved Kata kunci
, jangan gunakan tanda kutip tunggal untuk membatasi pengenal tetapi dengan backticks
.
Sebagai catatan tambahan, kueri rentan dengan SQL Injection
jika nilainya(s ) dari variabel tersebut berasal dari luar. Silakan lihat artikel di bawah ini untuk mempelajari cara mencegahnya. Dengan menggunakan PreparedStatements
Anda dapat menghilangkan penggunaan tanda kutip tunggal di sekitar nilai.