ホームページ >バックエンド開発 >Python チュートリアル >Python SQL INSERT ステートメントで変数を安全に使用するにはどうすればよいですか?

Python SQL INSERT ステートメントで変数を安全に使用するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-01 03:13:09725ブラウズ

How Can I Safely Use Variables in Python SQL INSERT Statements?

Python の SQL ステートメントでの変数の使用

SQL テーブルにデータを挿入するときは、パラメーターを利用して変数値を安全に渡すことが重要です。効果的に。クエリ テキストの一部として変数名を含めずに、Python コードで変数名を記述する方法を見てみましょう。

次のコードを考えてみましょう。

cursor.execute("INSERT INTO table VALUES var1, var2, var3")

ここで、var1 は整数、var2 と var3 は文字列。 Python がこれらの変数をクエリ文字列に組み込むことを回避するにはどうすればよいですか?

解決策:

これを実現するには、変数をタプルとして create() に渡します。メソッド:

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))

説明:

  • %s プレースホルダーは、クエリに置換される変数を表します。
  • タプル (var1、var2、var3) は、実際の値を提供します。プレースホルダー。
  • Python コードは、文字列操作ではなくパラメータ置換ステートメントのように見えます。

重要な注意事項:

データベース API変数の適切なエスケープと引用を実行します。パラメータ置換には文字列書式演算子 (%) を使用しないでください。

  • エスケープまたは引用符の保護が提供されません。
  • コードが SQL インジェクション攻撃に対して脆弱になります。

以上がPython SQL INSERT ステートメントで変数を安全に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。