首頁 > 後端開發 > Python教學 > 如何在Python SQL INSERT語句中安全使用變數?

如何在Python SQL INSERT語句中安全使用變數?

Mary-Kate Olsen
發布: 2025-01-01 03:13:09
原創
695 人瀏覽過

How Can I Safely Use Variables in Python SQL INSERT Statements?

在Python 中的SQL 語句中使用變數

向SQL 表插入資料時,必須利用參數安全、可靠地傳遞變數值有效地。讓我們探索如何在 Python 程式碼中編寫變數名稱而不將它們作為查詢文字的一部分。

考慮以下程式碼:

cursor.execute("INSERT INTO table VALUES var1, var2, var3")
登入後複製

其中 var1 是整數,var2 和 var3 是字串。如何避免 Python 將這些變數合併到查詢字串中?

解:

要實現此目的,請將變數作為元組傳遞給execute()方法:

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
登入後複製

說明:

  • %s佔位符表示將替換到查詢中的變數。
  • 元組 (var1, var2, var3) 提供實際值佔位符。
  • Python 程式碼現在看起來像參數替換語句,而不是字串運算。

重要提示:

資料庫 API執行正確的變數轉義和引用。避免使用字串格式化運算子 (%) 進行參數替換,因為它們:

  • 不提供轉義或引用保護。
  • 使程式碼容易受到 SQL 注入攻擊。

以上是如何在Python SQL INSERT語句中安全使用變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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