TypeError:execute()最多需要3个参数(给定11个)

时间:2014-11-07 03:49:16

标签: python mysql mysql-python

我正在尝试使用Tornado,Anaconda,MySQLdb连接器创建一个SignUp页面。 所以我在表单中有8个字段,我的Signuphandler具有将人的输入插入mysql数据库的逻辑。

我搜索并在线跟踪文档和其他资源,并且 - 我尝试了以下

最初我收到此错误 query = query%tuple([db.literal(item)for item in args])TypeError:格式字符串的参数不足1)和2)< / p>

1)

cursor.execute("INSERT INTO user_table (firstName, lastName, a, b, c, d, e, f, g) VALUES (%s, %s,    %s, %s, %s, %s, %s, %s, %s, %s)",(firstname, lastname, a, b, c, d, e, f, g,))

2)

cursor.execute("INSERT INTO user_table (firstName, lastName, a, b, c, d, e, f, g) VALUES (%s, %s,    %s, %s, %s, %s, %s, %s, %s, %s)", [(firstname, lastname, a, b, c, d, e, f, g,)])

所以我用google搜索并删除了(),现在我得到 TypeError:execute()最多需要3个参数(给定11个)错误

3)

cursor.execute("INSERT INTO user_table (firstName, lastName, a, b, c, d, e, f, g) VALUES (%s, %s,    %s, %s, %s, %s, %s, %s, %s, %s)", firstname, lastname, a, b, c, d, e, f, g,)

4)关注此python 3 arguments 6 given error

cursor.execute("INSERT INTO user_table (firstName, lastName, a, b, c, d, e, f, g) VALUES (%s, %s,     %s, %s, %s, %s, %s, %s, %s, %s)", str(firstname), str(lastname), str(a), str(b), str(c), str(d), str(e), str(f), str(g),)

这里出了什么问题?有人可以帮帮我..

谢谢..

1 个答案:

答案 0 :(得分:4)

cursor.execute(
    """INSERT INTO user_table
        (firstName, lastName,
         a, b, c, d, e, f, g)
        VALUES
        (%s, %s,
         %s, %s, %s, %s,
         %s, %s, %s, %s)""",
    (firstname, lastname,
     a, b, c, d,
     e, f, g,))

如果我相信你有10次&#39;%s&#39;和他们的9个论点。尝试删除一个&#39;%s&#39;