MySQL 中的參數化查詢
使用 MySQLdb 模組將多個變數插入 MySQL 資料庫表格可能會很棘手。考慮以下語句:
cursor.execute (""" INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (var1, var2, var3, var4, var5, var6) """)
但是,在 SQL 查詢中使用字串插值是有問題的,因為它可能會導致應用程式容易受到 SQL 注入的影響,從而引入安全漏洞。正確的做法是使用參數化查詢,這樣可以確保輸入參數的正確轉義。
轉義參數
不要使用字串插值,而是在查詢中使用佔位符並綁定使用元組為它們提供實際值。例如:
cursor.execute("INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (%s, %s, %s, %s, %s, %s)", (var1, var2, var3, var4, var5, var6))
此方法透過在執行查詢之前自動轉義值來防止 SQL 注入。
以上是如何使用 Python 安全地將多個變數插入 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!