Pertanyaan Berparameter dalam MySQL
Memasukkan berbilang pembolehubah ke dalam jadual pangkalan data MySQL menggunakan modul MySQLdb boleh menjadi rumit. Pertimbangkan pernyataan berikut:
cursor.execute (""" INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (var1, var2, var3, var4, var5, var6) """)
Walau bagaimanapun, menggunakan interpolasi rentetan dalam pertanyaan SQL adalah bermasalah kerana ia boleh memperkenalkan kelemahan keselamatan dengan membiarkan aplikasi anda terdedah kepada suntikan SQL. Pendekatan yang betul ialah menggunakan pertanyaan berparameter, yang memastikan parameter input keluar dengan betul.
Parameter Melarikan Diri
Daripada interpolasi rentetan, gunakan ruang letak dalam pertanyaan dan ikat nilai sebenar kepada mereka menggunakan tupel. Contohnya:
cursor.execute("INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (%s, %s, %s, %s, %s, %s)", (var1, var2, var3, var4, var5, var6))
Kaedah ini melindungi daripada suntikan SQL dengan melepaskan nilai secara automatik sebelum melaksanakan pertanyaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Pembolehubah dengan Selamat ke dalam Pangkalan Data MySQL Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!