0

原谅我的无知,因为我是oursql的新手。我只是想将参数传递给语句:

cursor.execute("从 blah_table 中选择 blah_field = ?", blah_variable)

这将 blah_variable 中的任何内容都视为 char 数组,因此如果我传递“hello”,它将抛出 ProgrammingError 告诉我应该有 1 个参数,但给出了 5 个参数。

我试过浏览文档,但他们的例子没有使用变量。谢谢!

4

2 回答 2

1

IT 期待一系列参数。利用:

[blah_variable]

于 2014-01-10T20:12:08.973 回答
1

cursor.execute()调用需要一个params可迭代的参数。文档仅对此进行了提示,但代码实际上将参数解包并将其传递给另一个函数:

# from oursqlx/cursor.pyx:121
# in Cursor.execute()
        else:
            stmt.execute(*params)

您需要将您的电话表述为:

cursor.execute("select blah from blah_table where blah_field = ?", [blah_variable]) # brackets!
于 2014-01-10T20:13:16.587 回答