Python oursql将字符串变量视为char数组

时间:2014-01-10 20:06:04

标签: python parameters oursql

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

cursor.execute(“从blah_table选择blah,其中blah_field =?”,blah_variable)

这会将blah_variable中的任何内容视为char数组,所以如果我传递“hello”,它将抛出一个ProgrammingError,告诉我1个参数是预期的,但是给出了5个。

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

2 个答案:

答案 0 :(得分:1)

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

[blah_variable]

答案 1 :(得分:1)

cursor.execute()调用需要一个可迭代的params参数。 The documentation only hints at it,但代码实际上解包了参数并将其传递给另一个函数:

# 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!