SQL选择不工作的地方

时间:2017-01-26 03:49:14

标签: python flask sqlite

我正在使用Python / Flask并尝试查询我的数据库。

conn = sqlite3.connect('./flaskdb.db')
cur = conn.cursor()
cur.execute('SELECT email FROM users WHERE email=\'%s\'', "name")

我有两列,email, password和值name, password作为行/条目之一。

为什么这不起作用?我收到错误:

sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 0, and there are 7 supplied.

2 个答案:

答案 0 :(得分:0)

我认为你在这里使用准备好的陈述陷入困境。试试这段代码:

conn = sqlite3.connect('./flaskdb.db')
cur = conn.cursor()
name = 'someone@somewhere.com'
cur.execute('SELECT email FROM users WHERE email=?', (name,))

更正包括使用?作为占位符而不是%s,后者可能用于其他数据库。另外,如果你想绑定一个名为name的变量,那么它也不应该有引号。

答案 1 :(得分:0)

我有一个解决方案:

cur.execute('SELECT password FROM users WHERE email=(?)', (email,))

你需要它作为元组,(?)作为占位符。