Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Memasukkan Senarai dengan Selamat ke dalam Klausa MySQL IN?
Sisipkan Senarai Dengan Selamat ke dalam Klausa MySQL IN
Artikel ini meneroka kaedah yang cekap dan selamat untuk memasukkan senarai ke dalam klausa IN dalam pangkalan data MySQL. Walaupun pendekatan tradisional melibatkan pemetaan senarai kepada rentetan dan memasukkannya secara langsung, kaedah ini menimbulkan risiko suntikan SQL kerana keperluan untuk petikan manual dan melarikan diri.
Untuk mengelakkan kerentanan ini, pendekatan yang lebih selamat adalah menggunakan senaraikan terus sebagai parameter dalam pertanyaan MySQL. Kod berikut menunjukkan kaedah ini:
format_strings = ','.join(['%s'] * len(list_of_ids)) cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings, tuple(list_of_ids))
Kod ini mencapai perkara berikut:
Adalah penting untuk ambil perhatian bahawa kaedah ini bergantung pada keupayaan pemacu MySQL untuk mengendalikan parameter dengan selamat. Selagi data dihantar dengan betul sebagai parameter, pertanyaan kekal selamat daripada suntikan SQL.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Senarai dengan Selamat ke dalam Klausa MySQL IN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!