pembolehubah bersepadu dalam python ke dalam pertanyaan SQL
Apabila menggunakan Python untuk melakukan pertanyaan SQL, pembolehubah biasanya diintegrasikan ke dalam pertanyaan. Sebagai contoh, anda mungkin mahu memasukkan data ke dalam jadual pangkalan data, dan nilai -nilai ini disimpan dalam pembolehubah.
Soalan
Pertimbangkan kod python berikut:
di antara mereka, var1 adalah integer, var2 dan var3 adalah rentetan. Apabila cuba menulis nama yang berubah -ubah tanpa membiarkan Python menggunakannya sebagai sebahagian daripada teks pertanyaan, akan ada masalah.
<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>
Untuk menyelesaikan masalah ini, anda boleh menggunakan tempat yang menduduki dalam pertanyaan SQL, dan menghantar nilai pembolehubah sebagai meta -group:
Sila ambil perhatian bahawa meta -group mengandungi nilai -nilai yang berubah -ubah. Ini memastikan bahawa API pangkalan data membetulkan pembolehubah dan rujukan dengan betul.Amaran
<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>
Elakkan menggunakan format format rentetan (%) untuk penggantian berubah -ubah, kerana ia tidak melaksanakan kebenaran atau rujukan, dan mudah disuntik dengan SQL ke dalam serangan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Pembolehubah Python dengan Selamat ke dalam Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!