【发布时间】:2017-03-22 02:32:34
【问题描述】:
我正在侦听 python TCP 服务器上的端口。我能够在命令行上打印接收到的数据。现在,我想更新我的数据库。因为,我经常更新数据库,所以我使用 multi=True。但是,我不断收到错误消息:
cur.execute(query1, multi=True)
AttributeError: 'tuple' 对象没有属性 'encode'
下面是我的代码:
print "received data:", data
query1= "UPDATE tablename SET col_value = %s where id= %s",(data[0:3], data[4:])
cur.execute(query1,multi=True)
样本数据为:334,6
有谁知道,如何解决这个问题?
【问题讨论】:
-
不应该
query1类似于query1= "UPDATE tablename SET col_value = %s where id= %s" % (data[0:3], data[4:])? -
@Fejs:不,这会导致 SQL 注入漏洞。
-
我同意。我想指出可能使用的语法无效。
标签: python mysql sql database mysql-connector