【发布时间】:2010-11-10 17:42:19
【问题描述】:
当我使用时:
for i in Selection:
Q = "SELECT columnA FROM DB WHERE wbcode='"+i+"' and commodity='1'"
cursor.execute(Q)
ydata[i] = cursor.fetchall()
我明白了:
ydata = {'GBR': [(u'695022',), (u'774291',), (u'791499',)... ]}
如何更改我的代码以获得:
ydata = {'GBR': [695022, 774291, 791499,...]}
非常感谢。 obs:这只是一个简化的例子。尽量不要对sql注入提出建议。
【问题讨论】:
-
+1 表示“尽量避免提出有关 sql 注入的建议”:)
-
它不仅允许注入(如果
Selection来自用户输入),它还会影响语句缓存。事实上,以正确的方式进行操作并不复杂,因此根本没有理由手动构建 SQL 语句。