ホームページ >バックエンド開発 >Python チュートリアル >データベースのクエリ時に Python で SQLite パラメータ置換エラーを修正する方法
Python の SQLite パラメータ置換エラーを修正
リストに基づいてデータベースに特定の値を反復的にクエリする場合、一般的な落とし穴が発生します。 「?」の使用パラメータ置換メソッド。このメソッドは SQL インジェクションを防ぐことを目的としていますが、正しく使用しないとエラーが発生する可能性があります。
説明したシナリオでは、次のエラーが発生します:「sqlite3.ProgrammingError: Incorrect number of bindings provided.」これは、execute() メソッドに指定されたパラメータの数が予期した数と一致しないことを示します。
このエラーは、データベース テーブルの最初の作成に起因します。データベース テーブルには 8 つの列があるため、データベース テーブルに 8 つのパラメータが必要です。対応する挿入または更新クエリ。ただし、「?」を使用する場合は、
この問題を解決するには、execute() メソッドを次のように呼び出す必要があります。
<code class="python">self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item])</code>>
単一の要素 ([item]) を 2 番目のパラメーターとして含むリストを渡すことで、正しい数のバインディングが提供され、エラーが回避されます。さらに、推奨されるフォームの使用は、sqlite3 カーソル オブジェクトの Python ライブラリ リファレンスで概説されている推奨事項と一致します。
以上がデータベースのクエリ時に Python で SQLite パラメータ置換エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。