数据库查询语句的生成,以及占位符使用的疑问

直接通过python的连接字符串生成查询语句,有可能会有sql注入的危险。
如果,只生成单条查询,注意点的话,连接字符串组合成查询语句,危险性大不大?好像应该也没什么问题
如果使用“?”占位符的话,感觉很不灵活不方便。
比如,多个key
select*fromtable
selectid,namefromtable
这里使用占位符,貌似不能这么用。
args=('name','xxx')
c.execute('select*fromstockswhere?=?',args)
还有生成查询语句比较好的实践应该是怎样的?
(字符串连接成查询语句,要带入的查询的值使用占位符??还是直接固定死了,尽量不要抽象话)
蓝山帝景
浏览 453回答 2
2回答

幕布斯6054654

占位符只能在VALUE上使用...表名和字段名都不能使用占位符...换言之...占位符必须不能影响SQL语句的构造...

富国沪深

占位符的确不能对字段名使用,只能对值使用,但是你完全可以构建一个属于自己的这样子的函数。python没写过,就用php来回答了,思路是一样的,应该能看懂吧。。。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript