Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menggunakan Pembolehubah dengan Selamat dalam Pernyataan INSERT SQL Python?

Bagaimanakah Saya Boleh Menggunakan Pembolehubah dengan Selamat dalam Pernyataan INSERT SQL Python?

Mary-Kate Olsen
Lepaskan: 2025-01-01 03:13:09
asal
694 orang telah melayarinya

How Can I Safely Use Variables in Python SQL INSERT Statements?

Menggunakan Pembolehubah dalam Pernyataan SQL dalam Python

Apabila memasukkan data ke dalam jadual SQL, adalah penting untuk menggunakan parameter untuk menghantar nilai pembolehubah dengan selamat dan dengan berkesan. Mari kita terokai cara menulis nama pembolehubah dalam kod Python tanpa memasukkannya sebagai sebahagian daripada teks pertanyaan.

Pertimbangkan kod berikut:

cursor.execute("INSERT INTO table VALUES var1, var2, var3")
Salin selepas log masuk

di mana var1 ialah integer dan var2 dan var3 ialah rentetan. Bagaimanakah anda boleh mengelakkan Python memasukkan pembolehubah ini ke dalam rentetan pertanyaan?

Penyelesaian:

Untuk mencapai ini, hantar pembolehubah sebagai tuple kepada execute() kaedah:

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
Salin selepas log masuk

Penjelasan:

  • Pemegang tempat %s mewakili pembolehubah yang akan digantikan ke dalam pertanyaan.
  • The tuple (var1, var2, var3) menyediakan nilai sebenar untuk pemegang tempat.
  • Kod Python kini kelihatan seperti pernyataan penggantian parameter dan bukannya manipulasi rentetan.

Nota Penting:

API pangkalan data melakukan pelarian dan petikan pembolehubah yang betul. Elakkan menggunakan operator pemformatan rentetan (%) untuk penggantian parameter, kerana ia:

  • Jangan menawarkan perlindungan melarikan diri atau memetik.
  • Jadikan kod terdedah kepada serangan suntikan SQL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah dengan Selamat dalam Pernyataan INSERT SQL Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan