【问题标题】:no such column sqlite selectquery没有这样的列 sqlite selectquery
【发布时间】:2020-06-02 16:26:35
【问题描述】:

我正在使用选择查询从用户名的 sqlite 数据库中获取用户详细信息,以使用以下代码验证登录详细信息:

    @post('/login/attempt')
    def processLogin():
        submittedUsername = request.forms.get("Username")
        submittedPassword = request.forms.get("Password")
        data = c.execute("SELECT * FROM Users WHERE Users.username = 
                         {}".format(submittedUsername)).fetchone()

我收到错误OperationalError ('no such column: janedoe') janedoe 是我在表单中输入的用户名。

我不明白为什么要查找具有该名称的列。据我了解,这应该寻找其中用户名列中的值为“janedoe”的行。

【问题讨论】:

    标签: python sqlite bottle


    【解决方案1】:

    不确定您的查询是否正确,我认为您正在尝试做的是:

    c.execute('SELECT * FROM Users WHERE username=?', (submittedUsername,)).fetchone()
    

    希望对你有帮助

    【讨论】:

    • 参数不需要包裹在一个元组中吗?
    • 您好,感谢您的帮助。我试过使用这种字符串操作方法,它似乎有效。 (虽然语法与您的回复略有不同:data = c.execute("SELECT * FROM Users WHERE Users.username = ?", (submittedUsername,)).fetchone(),重要的是,submittedUsername 需要放在括号中,并且需要在后面加上额外的逗号,因为该替换格式需要一个元组
    • @AKX 是的
    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 2020-08-16
    • 2017-02-09
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多