繁体   English   中英

使用 sqlite3 python 错误进行数据库搜索

[英]database search with sqlite3 python error

def dashboard():
    
    p = request.form['Pseudo']
    
    if cur.execute("SELECT * FROM pseudo WHERE user = '?'", (p,)) == 0:
        
        cur.execute("INSERT INTO pseudo (user, score, win, coup) VALUES (?,?,?,?)", (p,0,0,0))
        conn.commit()
        
    else:
        pass
    
    return render_template("index.html",data=liste, Pseudo = p)

错误:sqlite3.ProgrammingError:提供的绑定数量不正确。 当前语句使用 0,并且提供了 1。

你好,我已经被困了几个小时,我不明白为什么我会犯错误。 这个程序是一个正在进行的项目,在这里我想检查伪是否已经在使用,如果没有使用,请将其注册到数据库中

考虑调整表定义以避免使用条件逻辑进行多次查询:

SQLite

CREATE TABLE pseudo (
    id     INTEGER PRIMARY KEY,
    user   VARCHAR UNIQUE,        -- UNIQUE REQUIRED FOR IGNORE
    score  INTEGER DEFAULT 0,  
    win    INTEGER DEFAULT 0, 
    coup   INTEGER DEFAULT 0
);

Python

def dashboard():
    p = request.form['Pseudo']
    
    cur.execute("INSERT OR IGNORE INTO pseudo (user) VALUES (?)", (p,))
    conn.commit()

    ...

    return render_template("index.html", data=liste, Pseudo=p)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM