首頁 > 資料庫 > mysql教程 > 如何安全地將 Python 變數合併到 SQL 查詢?

如何安全地將 Python 變數合併到 SQL 查詢?

Patricia Arquette
發布: 2025-01-25 15:46:12
原創
500 人瀏覽過

How Can I Safely Incorporate Python Variables into SQL Queries?

在 Python 中將變量整合到 SQL 查詢中

在使用 Python 執行 SQL 查詢時,通常需要將變量整合到查詢中。例如,您可能希望將數據插入到數據庫表中,而這些值存儲在變量中。

問題

考慮以下 Python 代碼:

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

其中,var1 是一個整數,var2 和 var3 是字符串。當嘗試編寫變量名而沒有讓 Python 將它們作為查詢文本的一部分時,就會出現問題。

解決方案

為了解決這個問題,您可以在 SQL 查詢中使用佔位符,並將變量值作為元組傳遞:

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

請注意,元組包含變量值,即使只傳遞一個參數,也要在元組末尾添加逗號。這確保了數據庫 API 對變量進行正確的轉義和引用。

警告

避免使用字符串格式化運算符 (%) 進行變量替換,因為它不執行轉義或引用,並且容易受到 SQL 注入攻擊。

以上是如何安全地將 Python 變數合併到 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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