我正在编写采用用户输入字符串的代码,并通过参数将其绑定到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
完美无缺。