我正在运行python3.4,我正在尝试使用MySQLdb库运行查询。
我已经完成了一个成功的查询,但现在我遇到了查询中的整数问题。这是代码:
location = player_info[6]
query2 = ("SELECT name FROM locations WHERE id=%d");
execute = cursor.execute(query2, (location));
变量位置的值是2.我只是不断收到错误:
在tryLogin中的第75行文件“login.py” execute = cursor.execute(query2,(location));
文件“/usr/lib/python3/dist-packages/MySQLdb/cursors.py”,第195行,in 执行 args = tuple(map(db.literal,args))TypeError:'int'对象不可迭代
我尝试将%d更改为%s,因为有人说它应该全部采用字符串格式,但我仍然会遇到同样的错误。
我还尝试将“location”变量简单地改为:
location = 2
有什么想法吗?
答案 0 :(得分:1)
execute = cursor.execute(query2, (location));
在python中,(location)
是带括号的表达式,而不是元组。为了强制它成为元组,您需要添加逗号:(location,)
execute = cursor.execute(query2, (location,));