首頁 >資料庫 >mysql教程 >如何將變量安全地插入Python的SQL語句中?

如何將變量安全地插入Python的SQL語句中?

Linda Hamilton
Linda Hamilton原創
2025-01-25 15:27:11328瀏覽

How to Safely Insert Variables into SQL Statements from Python?

在 Python 代碼中使用 SQL 語句中的變量

為了在 Python 編寫的 SQL 語句中插入變量,必須以特定方式表示參數,以防止它們作為查詢文本本身的一部分包含在內。正確的語法涉及使用佔位符並將變量作為元組傳遞。

考慮以下 Python 代碼示例:

<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>

其中 var1 是整數,var2 和 var3 是字符串。

為了在不將這些變量作為查詢文本的一部分包含在 Python 中的情況下合併這些變量,請使用以下語法:

<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>

這裡的關鍵區別在於在 SQL 語句中使用佔位符 (%s) 並將變量作為元組傳遞(括在括號中)。數據庫 API 自動處理轉義和引用,確保數據安全地合併到查詢中。

避免使用字符串格式化運算符 (%) 直接傳遞變量,因為它會跳過任何必要的轉義或引用,使代碼容易受到 SQL 注入等攻擊。

以上是如何將變量安全地插入Python的SQL語句中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn