Melalukan Parameter ke JDBC PreparedStatement
Dalam JDBC, pernyataan yang disediakan digunakan untuk melaksanakan pernyataan SQL dengan cekap dan selamat dengan menyusun pernyataan sekali dan melaksanakannya beberapa kali dengan parameter yang berbeza. Apabila menghantar parameter kepada pernyataan yang disediakan, adalah penting untuk memastikan ia ditetapkan dengan betul untuk mengelakkan serangan suntikan SQL dan ralat pemformatan pernyataan.
Penjelasan Masalah
Kod yang disediakan cuba untuk memilih baris daripada jadual pangkalan data berdasarkan parameter userID yang dihantar kepada pembina kelas Pengesahan. Walau bagaimanapun, pernyataan tersebut tidak mempunyai parameterisasi, yang membawa kepada pelaksanaan yang salah dan potensi kelemahan suntikan SQL.
Penyelesaian
Untuk lulus parameter userID dengan betul, gunakan kaedah setString() untuk menetapkan nilai bagi parameter pertanyaan. Ini memastikan pernyataan diformat dengan betul dan melindungi daripada serangan suntikan SQL.
statement = con.prepareStatement("SELECT * FROM employee WHERE userID = ?"); statement.setString(1, userID);
Dengan mengikuti pendekatan ini, kod yang disediakan akan memilih baris dengan betul daripada jadual pangkalan data berdasarkan parameter ID pengguna yang ditentukan.
Amalan Terbaik
Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Parameter ke JDBC PreparedStatement dengan selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!