データをプルするときにPythonループを使用して動的クエリをサニタイズする方法は次のとおりです!
私の関数get_dict_resultset
に注意してください dBに接続し、データをプルして、Python辞書に保存するために使用されます。
def get_dict_resultset(query, param):
cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
cur.execute(query, param)
ans =cur.fetchall()
dict_result = []
for row in ans:
dict_result.append(dict(row))
return dict_result
param
を追加しました 関数とcur.execute
の引数として 。
for stock in symbols:
stock_info[stock] = get_dict_resultset("SELECT
date, close
FROM security_price
WHERE
security_price.id=%s;", [stock])
これが、ユーザー入力をサニタイズしてdBを保護するためにコードを安全に編集した方法です