1. ホーム
  2. python

[解決済み] PythonでSQL文に変数を使うには?

2022-10-25 05:48:07

質問

以下のようなPythonのコードを持っています。

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

どこ var1 は整数である。 var2var3 は文字列です。

Pythonがクエリテキストの一部として変数名を含めないようにするには、どのように書けばよいのでしょうか?

どのように解決するのですか?

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

パラメータはタプルとして渡されることに注意してください。

データベース API は、変数のエスケープと引用を適切に行います。 文字列の書式設定演算子 ( % )、なぜなら

  1. は、エスケープやクオートを一切行いません。
  2. を使用すると、制御不能な文字列フォーマット攻撃を受ける可能性があります。 SQLインジェクション .