flask和mysql,如何循环通过数据库检查用户是否在表中?

rkttyhzu  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(410)

我在这个网站上建立了这个数据库。当用户创建帐户时,它会正确地存储到数据库中。我现在正试图让网站的登录部分工作,但我不确定如何循环通过数据库,看看用户的电子邮件和密码是否存在。
以下是用户注册时的代码:

@app.route("/SignUp", methods=['GET','POST'])
def Signup():
    form = RegistrationForm()
    if form.validate_on_submit():
        flash(f'Welcome to the family {form.username.data}!','success')
        if request.method =='POST':
            userDetails = request.form
            user_name = userDetails['username']
            user_email = userDetails['email']
            user_password = userDetails['password']
            cur = mysql.connection.cursor()

            cur.execute("INSERT INTO users(user_name,user_email,user_password) VALUES(%s,%s,%s)", 
            (user_name,user_email,user_password))

            mysql.connection.commit()
            cur.close()
            return redirect("Blog")
    return render_template("Register.html",form=form)

以下是用户登录时的代码:

@app.route("/SignIn", methods=['GET','POST'])
def SignIn():
    form = LoginForm()
    if form.validate_on_submit():
        cur = mysql.connection.cursor()
        cur.execute
        flash('You have been Successfully Logged In!','success')
        return redirect(url_for('Blog'))
    else:
        flash('Unsuccessful, check your email and password!','danger')
    return render_template("SignIn.html",form=form)

我试着找到如何在数据库中循环并学习sql中的exists,但是我找不到一个合适的方法来实现它。

xeufq47z

xeufq47z1#

您可以尝试执行sql查询,如下所示:

select user_name from users where user_name = '<your user name from login page>'

如果有结果,则数据库中存在用户名,否则不存在用户名。

相关问题