0
私は動的にMySQLのクエリをPythonで安全にパラメータ化する方法を知っています。動的では、if文がどのように評価されるかによって変化します。ダイナミックなpython mysqlクエリを安全にパラメータ化するにはどうすればよいですか?
私は、次のように、パーセント記号ではなくカンマを使用して、Pythonでmysqlクエリをパラメータ化する方法を理解しています。
c.execute("SELECT * FROM foo WHERE bar = %s AND baz = %s", (param1, param2))
ここでは、「動的クエリ」の例を示します。パーセント記号を使用するよりも安全な方法を探しています。
def queryPhotos(self, added_from, added, added_to):
sql = "select * from photos where 1=1 "
if added_from is not None:
sql = sql + "and added >= '%s' " % added_from
if added is not None:
sql = sql + "and added = '%s' " % added
if added_to is not None:
sql = sql + "and added <= '%s' " % added_to
ご理解いただきありがとうございます。
疑問符で疑問符( 'query =' select * from table where thing =?)を組み立てるSQLクエリ文字列をアセンブルします。それ以外は 'c.execute(query、[param1.param2])の行に沿って何かを行います – Nullman