Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Berbilang Pembolehubah dengan Selamat ke dalam Pangkalan Data MySQL Menggunakan Python?

Bagaimanakah Saya Boleh Memasukkan Berbilang Pembolehubah dengan Selamat ke dalam Pangkalan Data MySQL Menggunakan Python?

Linda Hamilton
Linda Hamiltonasal
2024-12-13 10:41:15511semak imbas

How Can I Safely Insert Multiple Variables into a MySQL Database Using Python?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn