Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memasukkan Pembolehubah dengan Selamat ke dalam Pernyataan SQL dari Python?

Bagaimana untuk Memasukkan Pembolehubah dengan Selamat ke dalam Pernyataan SQL dari Python?

Linda Hamilton
Lepaskan: 2025-01-25 15:27:11
asal
257 orang telah melayarinya

How to Safely Insert Variables into SQL Statements from Python?

Pembolehubah dalam pernyataan SQL dalam kod python

Untuk memasukkan pembolehubah dalam pernyataan SQL yang ditulis dalam Python, parameter mesti diwakili dengan cara tertentu untuk menghalang mereka daripada dimasukkan sebagai sebahagian daripada teks pertanyaan itu sendiri. Tatabahasa yang betul melibatkan penggunaan tempat menduduki dan menghantar pembolehubah sebagai kumpulan meta.

pertimbangkan contoh kod python berikut:

di antara mereka, var1 adalah integer, dan var2 dan var3 adalah rentetan.
<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>
Salin selepas log masuk

Untuk menggabungkan pembolehubah ini tanpa menggunakan pembolehubah ini sebagai sebahagian daripada teks pertanyaan di Python, sila gunakan sintaks berikut:

Perbezaan utama di sini ialah dalam pernyataan SQL, penggunaan kedudukan (%s) dan pembolehubah dihantar sebagai kumpulan logam (termasuk dalam kurungan). API pangkalan data secara automatik mengendalikan ketegaran dan rujukan untuk memastikan data itu digabungkan dengan selamat ke dalam pertanyaan.
<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>
Salin selepas log masuk

Elakkan menggunakan operator pemformatan rentetan (%) untuk secara langsung lulus pembolehubah, kerana ia akan melangkau sebarang putaran atau rujukan yang diperlukan, menjadikan kod itu mudah diserang oleh suntikan SQL.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Pembolehubah dengan Selamat ke dalam Pernyataan SQL dari 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