Menggunakan Pembolehubah dalam Pernyataan SQL dalam Python
Artikel ini menyediakan penyelesaian kepada isu biasa menggunakan pembolehubah dalam pernyataan SQL dalam Python. Kod Python berikut:
cursor.execute("INSERT INTO table VALUES var1, var2, var3")
akan gagal dengan ralat kerana nama pembolehubah disertakan sebagai sebahagian daripada teks pertanyaan. Untuk menyelesaikan masalah ini, gunakan sintaks berikut:
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
Dalam penyelesaian ini, nama pembolehubah digantikan dengan ruang letak (%s) dalam pernyataan SQL. Parameter kemudiannya diluluskan sebagai tuple, (var1, var2, var3). Ambil perhatian bahawa tupel mesti berakhir dengan koma jika anda menghantar satu parameter.
Menggunakan kaedah ini memastikan API pangkalan data mengendalikan pelepasan dan petikan pembolehubah yang betul. Adalah penting untuk mengelak daripada menggunakan operator pemformatan rentetan %, kerana ia tidak melakukan sebarang pelarian atau petikan. Ini boleh membawa kepada kelemahan keselamatan seperti suntikan SQL.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah dengan Selamat dalam Pernyataan SQL dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!