【发布时间】:2018-10-14 01:58:32
【问题描述】:
简短的问题:我想让我的代码更安全,但在这一行中它崩溃了:
self.cursor.execute("SELECT device_name FROM device WHERE device_id = %s", self.device_id)
这工作正常,但对于注入攻击不安全:
self.cursor.execute("SELECT device_name FROM device WHERE device_id = " + str(self.device_id))
我不知道,第一行有什么问题。
[...] raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1064 (42000): Unknown error
【问题讨论】:
-
应该是
...execute('whatever %s', (param,))而不是...execute('whatever %s', param),即(param,)而不仅仅是param。
标签: python sql python-2.7