使用Python 在SQL 語句中綁定變數
在Python 中,必須將變數傳遞到SQL 語句而不將它們作為查詢的一部分細繩。這可以防止 SQL 注入攻擊並確保正確的參數處理。
要實現此目的,請使用佔位符的cursor.execute() 方法(例如,%s 表示字串,%d 表示整數,'%f' 表示浮點值)來表示變數。
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
請注意,execute() 方法的參數必須是一個元組,即使您傳遞的是單一值。若要指示單一參數,請使用帶有尾隨逗號的元組:
cursor.execute("INSERT INTO table VALUES (%s)", (var1,))
資料庫 API 處理變數的正確轉義和參考。避免使用字串格式化運算子 (%),因為它不執行任何轉義或引用,從而使應用程式容易受到攻擊。此外,使用準備好的語句(如此處所示的語句)而不是連接字串來建立 SQL 語句非常重要,因為它可以提高安全性和效能。
以上是如何使用Python安全地綁定SQL語句中的變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!