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

Bagaimana untuk Memasukkan Pembolehubah dengan Selamat ke dalam Pertanyaan SQL Menggunakan Python?

Patricia Arquette
Lepaskan: 2025-01-25 15:32:11
asal
304 orang telah melayarinya

How to Safely Insert Variables into SQL Queries Using Python?

Sisipkan pembolehubah dengan selamat ke dalam pertanyaan SQL dalam Python

Apabila memproses pertanyaan pangkalan data dalam Python, anda biasanya perlu memasukkan pembolehubah dalam pernyataan pertanyaan. Walau bagaimanapun, pastikan anda melakukannya dengan cara yang menghalang ralat sintaks atau lubang keselamatan.

Pertimbangkan kod Python berikut:

<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>
Salin selepas log masuk

Dalam kod ini, var1 ialah integer dan var2 dan var3 ialah rentetan. Walau bagaimanapun, masalah berlaku apabila Python cuba memasukkan nama var1, var2 dan var3 sebagai sebahagian daripada teks pertanyaan itu sendiri, menyebabkan pertanyaan menjadi tidak sah.

Untuk menyelesaikan masalah ini, anda boleh menggunakan mekanisme penggantian pemegang tempat yang disediakan oleh API pangkalan data. Begini cara untuk menulis semula kod anda menggunakan ruang letak:

<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>
Salin selepas log masuk

Dalam kod yang dipertingkatkan ini:

  • %s mewakili pemegang tempat untuk diisi dengan nilai.
  • (var1, var2, var3) ialah tuple yang mengandungi nilai yang hendak disisipkan.

Dengan menghantar nilai sebagai tupel, API pangkalan data mengendalikan pelarian dan petikan pembolehubah yang diperlukan, memastikan keserasian dengan pangkalan data dan menghalang potensi risiko keselamatan.

Perhatikan bahawa untuk satu hujah, tuple dengan koma di belakang diperlukan:

<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s)", (var1,))</code>
Salin selepas log masuk

Selain itu, elakkan menggunakan operator pemformatan rentetan (%) untuk memasukkan pembolehubah kerana ia boleh membawa kepada lubang keselamatan dan API pangkalan data tidak menyokongnya.

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