SQLite3(Python):execute()命令不使用字符串参数

时间:2018-04-11 02:24:08

标签: python python-3.x sqlite

我正在编写采用用户输入字符串的代码,并通过参数将其绑定到SQLite命令。

当字符串已经嵌入到查询中时,我已经使用了这个功能(参见“这些行工作”下的第一个例子),这个绑定方法适用于整数(参见第二个例子)。

testname = "\"EJtheDJ\"" #this would be user-inputted, but I get the same issue when I initialize it this way

#this line doesn't work
c.execute("select lastfm from usernames where discordname=?", (testname,))

#these lines do work
#c.execute("select lastfm from usernames where discordname=\"EJtheDJ\"")
#c.execute("select integer1 from test where integer2=?", (num,)) #num=3

print(c.fetchone()) #prints out "None"    

根据我所看到的所有教程和论坛帖子,我的语法似乎100%正确。我通常不会在这里发帖(实际上这是我的第一次),但我对此感到非常难过,觉得这是我唯一的选择。任何帮助都将受到大力赞赏。我在使用Python 3.6的CentOS服务器上运行它,如果有帮助的话。

修改:原来我只需要取消转义的引号。 testname = EJtheDJ完美无缺。

0 个答案:

没有答案