Python3.4 int 对象不可迭代 - MySQLdb
Python3.4 int object is not iterable - MySQLdb
我正在 运行宁 python3.4,我正在尝试 运行 使用 MySQLdb 库进行查询。
我已经完成了一次成功的查询,但现在当涉及到查询中的整数时,我被卡住了。这是代码:
location = player_info[6]
query2 = ("SELECT name FROM locations WHERE id=%d");
execute = cursor.execute(query2, (location));
变量 location 的值为 2。我一直收到错误消息:
File "login.py", line 75, in tryLogin
execute = cursor.execute(query2, (location));
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 195, in
execute
args = tuple(map(db.literal, args)) TypeError: 'int' object is not iterable
我试图将 %d 更改为 %s,因为有人说它应该都是字符串格式,但我仍然遇到同样的错误。
我也曾尝试将 "location" 变量更改为:
位置 = 2
有什么想法吗?
execute = cursor.execute(query2, (location));
在python中,(location)
是括号表达式,不是元组。为了强制它成为一个元组,你需要添加一个逗号:(location,)
execute = cursor.execute(query2, (location,));
我正在 运行宁 python3.4,我正在尝试 运行 使用 MySQLdb 库进行查询。
我已经完成了一次成功的查询,但现在当涉及到查询中的整数时,我被卡住了。这是代码:
location = player_info[6]
query2 = ("SELECT name FROM locations WHERE id=%d");
execute = cursor.execute(query2, (location));
变量 location 的值为 2。我一直收到错误消息:
File "login.py", line 75, in tryLogin execute = cursor.execute(query2, (location));
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 195, in execute args = tuple(map(db.literal, args)) TypeError: 'int' object is not iterable
我试图将 %d 更改为 %s,因为有人说它应该都是字符串格式,但我仍然遇到同样的错误。
我也曾尝试将 "location" 变量更改为:
位置 = 2
有什么想法吗?
execute = cursor.execute(query2, (location));
在python中,(location)
是括号表达式,不是元组。为了强制它成为一个元组,你需要添加一个逗号:(location,)
execute = cursor.execute(query2, (location,));