データベースのクエリ時に Python で SQLite パラメータ置換エラーを修正する方法

Barbara Streisand
リリース: 2024-10-19 15:25:02
オリジナル
373 人が閲覧しました

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

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!