直接通过 python的连接字符串生成查询语句,有可能会有sql注入的危险。
如果,只生成单条查询,注意点的话,连接字符串组合成查询语句,危险性大不大?好像应该也没什么问题
如果使用 “?”占位符的话,感觉很不灵活不方便。
比如,多个key
select * from table
select id,name from table
这里使用占位符,貌似不能这么用。
args= ('name','xxx')
c.execute('select * from stocks where ?=?', args)
还有生成查询语句比较好的实践应该是怎样的?
(字符串连接成查询语句,要带入的查询的值使用占位符??还是直接固定死了,尽量不要抽象话)
占位符只能在 VALUE 上使用 ... 表名和字段名都不能使用占位符 ...
换言之 ... 占位符必须不能影响 SQL 语句的构造 ...