PyODBC: Melakukan Pernyataan Pilih dengan Pembolehubah Parameter
Dalam senario ini, anda berusaha untuk mendapatkan semula baris daripada jadual Throughput berdasarkan DeviceName tertentu yang disimpan dalam data['DeviceName']. Walau bagaimanapun, percubaan anda sebelum ini untuk melaksanakan penyataan SELECT dengan pembolehubah parameter tidak berjaya.
Penyelesaiannya ialah menggunakan parameterisasi dalam pernyataan SQL anda. Dengan menggunakan "?" pemegang tempat dan menyerahkan DeviceName sebagai hujah, anda boleh melindungi sistem anda daripada suntikan SQL dan kelemahan keselamatan yang lain.
Berikut ialah pendekatan yang disemak:
cursor.execute("SELECT * FROM Throughput WHERE DeviceName = ?", data['DeviceName'])
Parameterisasi menawarkan beberapa faedah:
Selain coretan pertanyaan yang disemak, berikut ialah sebahagian daripada contoh kod berfungsi untuk rujukan anda:
query = "SELECT * FROM Throughput WHERE DeviceName = '%s'" % data['DeviceName'] try: for row in cursor.execute(query): ...
Ingat untuk mengesahkan input pengguna tanpa mengira menggunakan parameter atau SQL dinamik untuk keselamatan tambahan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah Parameter dengan Selamat dalam Pernyataan PyODBC SELECT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!