首頁 > 後端開發 > Python教學 > 如何在 MySQL IN 子句中安全地使用 ID 清單?

如何在 MySQL IN 子句中安全地使用 ID 清單?

Linda Hamilton
發布: 2024-11-15 04:35:02
原創
303 人瀏覽過

How Can I Safely Use a List of IDs in a MySQL IN Clause?

安全性MySQL IN 子句的內爆列表

要安全地在MySQL IN 子句中使用ID 列表並避免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 驅動程式的參數,確保其正確轉義並防止注入。
  • 簡單性:您不需要執行手動引用或轉義,這簡化了您的程式碼並降低了風險
  • 效能:參數化通常比內爆列表和手動轉義它們更有效。

請注意,資料作為值的元組傳遞,在 MySQL 查詢中使用是安全的。 format_strings 變數為參數建立一個以逗號分隔的佔位符清單。

以上是如何在 MySQL IN 子句中安全地使用 ID 清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板