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,));