【问题标题】:Python, SQLITE 3, not such columnPython,SQLITE 3,不是这样的列
【发布时间】:2017-05-28 18:30:38
【问题描述】:

我写的一些代码有问题:

def login(username, password):
    c.execute("SELECT * FROM masterPasswords WHERE passw='{}' AND user='{}'".format(password, username))
    if passw == password and user == username:
        return True
    else:
        return False

这是错误日志:

Traceback (most recent call last):
  File "C:/Users/fraze/Documents/GitHub/Password-Management/main.py", line 65, in <module>
    account()
  File "C:/Users/fraze/Documents/GitHub/Password-Management/main.py", line 28, in account
    tryLogin()
  File "C:/Users/fraze/Documents/GitHub/Password-Management/main.py", line 15, in tryLogin
    if am.login(usernameInput, masterPassInput) == usernameInput and masterPassInput:
  File "C:\Users\fraze\Documents\GitHub\Password-Management\accountManagement.py", line 19, in login
    c.execute("SELECT * FROM masterPasswords WHERE passw='{}' AND user='{}'".format(password, username))
sqlite3.OperationalError: no such column: passw

我需要一些帮助...

【问题讨论】:

  • 首先查询应该是类似c.execute("SELECT * FROM masterPasswords WHERE passw=? AND user=?", (password, username)) 来参数化它。但我不知道这是否可行,因为您可能没有使用名为passw 的列构建和表格。
  • 是的,显然您的表没有passw 列。这里有什么问题?

标签: python database sqlite


【解决方案1】:

已解决:错误是我更改了列名,而旧(未更改)数据库具有旧名称,而我正在尝试访问新名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-11
    • 2022-01-05
    • 2020-06-02
    • 2020-08-16
    • 2017-02-09
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多