¡Aquí se explica cómo desinfectar una consulta dinámica usando un bucle de python al extraer datos!
tenga en cuenta que mi función get_dict_resultset
se utiliza para conectarse a dB, extraer datos y almacenarlos en un diccionario de 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
Agregué param
como argumento en la función y cur.execute
.
for stock in symbols:
stock_info[stock] = get_dict_resultset("SELECT
date, close
FROM security_price
WHERE
security_price.id=%s;", [stock])
Así es como edité mi código de forma segura para desinfectar mis entradas de usuario y proteger mi dB