首頁  >  文章  >  後端開發  >  如何修復 Python 查詢資料庫時 SQLite 參數替換錯誤?

如何修復 Python 查詢資料庫時 SQLite 參數替換錯誤?

Barbara Streisand
Barbara Streisand原創
2024-10-19 15:25:02374瀏覽

How to Fix SQLite Parameter Substitution Error in Python When Querying a Database?

修正Python 中的SQLite 參數替換錯誤

當基於列表迭代查詢資料庫中的特定值時,會出現一個常見的陷阱使用“?”參數替換法。雖然旨在防止 SQL 注入,但如果使用不當,此方法可能會導致錯誤。

在描述的場景中,會發生以下錯誤:「sqlite3.ProgrammingError:提供的綁定數量不正確。」這表示提供給execute()方法的參數數量與預期數量不符。

此錯誤源自於資料庫表的初始創建,該表有8列,因此需要8個參數對應的插入或更新查詢。但是,當使用“?”時替換方法中,第二個參數應該是僅包含要綁定的值的序列,而不是單一字串。

要解決此問題,應如下呼叫execute()方法:

<code class="python">self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item])</code>

透過傳遞一個包含單一元素([item]) 的清單作為第二個參數,可以提供正確的綁定數量並避免錯誤。此外,使用建議的形式與 sqlite3 遊標物件的 Python 庫參考中概述的建議保持一致。

以上是如何修復 Python 查詢資料庫時 SQLite 參數替換錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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