將清單安全地插入MySQL IN 子句
本文探討了一種在MySQL 資料庫中將清單插入IN 子句的高效且安全的方法。雖然傳統方法是將清單對應到字串並直接插入,但由於需要手動引用和轉義,這種方法存在 SQL 注入的風險。
要避免此漏洞,更安全的方法是使用直接將清單作為 MySQL 查詢中的參數。以下程式碼示範了此方法:
format_strings = ','.join(['%s'] * len(list_of_ids)) cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings, tuple(list_of_ids))
此程式碼完成以下任務:
重要的是請注意,此方法依賴 MySQL 驅動程式安全處理參數的能力。只要資料作為參數正確傳遞,查詢就不會受到 SQL 注入的影響。
以上是如何安全地將清單插入 MySQL IN 子句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!