我想按用户指定的名称选择列,但我想避免SQL注入。
我认为这样的事情并不是一个好主意:
column_one = input("Column one")
column_two = input("Column two")
column_three = input("Column three")
sql.execute("Select {}, {}, {} from table;".format(column_one, column_two, column_three))
我可以使用类似的东西:
con = sql.connect("example.sqlite3")
select = "select ? from table;"
t = ('id', )
cur = con.cursor()
cur.execute(selec, t)
rows = cur.fetchall()
con.commit()
con.close()
for row in rows:
for cell in row:
print(cell)
我得到的是:id id id id id id id ...
答案 0 :(得分:0)
编写一个查询以返回表中的所有列,然后使用条件逻辑选择要返回的列。