PythonSQL;选择从哪里开始?比如说;,(选定,如所示)

PythonSQL;选择从哪里开始?比如说;,(选定,如所示),python,select,sqlite,Python,Select,Sqlite,这就是我现在想要做的,但我遇到了这个错误,无法找到解决方案 select=input("select: ") for row in data.execute('select ? from stocks where date like "2015-11-05" ',(select)): print(row) 有办法做到这一点吗?我假设答案与标题类似。(选择)不是元组,而是字符串,在您的案例中是5个字符的字符串。由于字符串也是可编辑的,sqlite将字符串拆分为字

这就是我现在想要做的,但我遇到了这个错误,无法找到解决方案

    select=input("select: ")
    for row in data.execute('select ? from stocks where date like "2015-11-05" ',(select)):

        print(row)
有办法做到这一点吗?我假设答案与标题类似。

(选择)
不是元组,而是字符串,在您的案例中是5个字符的字符串。由于字符串也是可编辑的,
sqlite
将字符串拆分为字符,并尝试使用字符串中的所有5个字符参数化查询。相反,您希望有一个包含单个元素的元组:

    sqlite3.ProgrammingError: Incorrect number of bindings supplied. 
    The current statement uses 1, and there are 5 supplied.
但是,问题是-这行不通,您和您必须使用字符串格式:

data.execute('select ? from stocks where date like "2015-11-05" ', (select, ))

请注意,由于我们在这里使用字符串格式,我们使代码容易受到SQL注入的攻击-您一定要验证
select
变量值并保护自己不受SQL注入的影响(但不确定在您的情况下谁是程序的用户)。

@user5464854很高兴提供帮助,请参阅。
data.execute('select {} from stocks where date like "2015-11-05"'.format(select))