如何在 MariaDB 中调用 SELECT 查询时使用 flask 变量
How to use flask variable in calling SELECT query in MariaDB
从注册表中调用 MariaDB 中的 SELECT 查询的正确语法是什么。
具体来说,在 WHERE 子句中。我一直在网上寻找调试这个,但它似乎不起作用(语义上)。
这是我的 python 烧瓶中的代码。
@app.route('/check_email', methods = ['POST', 'GET'])
def chck_Email():
if request.method == 'POST':
visEmail = request.form['email']
conn = mariadb.connect(**config)
print(f"WE ARE CONNECTED ORAYT")
# create a connection cursor
cur = conn.cursor()
# execute an SQL statement
try:
print(visEmail)
#sql = " INSERT INTO visitor (Visitor_ID, Visitor_Name) VALUES( NULL, '{}')".format(Visitor_ID, Visitor_Name)
current_Email= cur.execute("SELECT user_Email FROM user_account WHERE user_Email = ?",(visEmail,))
print(current_Email)
if current_Email != None:
print('Email Invalid: Email already exists!')
form = Registration_Form()
exists = {
"email_exists": True
}
return render_template(exists,'register.html', form = form )
""visEmail 是应该保存用户在单击提交时提供的电子邮件地址的变量,程序然后检查数据库中是否已存在给定的电子邮件地址。
我打印了 visEmail 变量中的数据以查看字符串(这很好),但是在数据库中执行 return 我用“None”(它不应该是 returning a None 因为我已经在数据库上有了给定的电子邮件地址)。它应该 return 错误“电子邮件已经存在”
非常感谢
您没有获取结果行。 cur.execute()
没有 return 任何东西,您必须调用 cur.fetchone()
来获取结果,并将其分配给 current_Email
.
try:
print(visEmail)
#sql = " INSERT INTO visitor (Visitor_ID, Visitor_Name) VALUES( NULL, '{}')".format(Visitor_ID, Visitor_Name)
cur.execute("SELECT user_Email FROM user_account WHERE user_Email = ?",(visEmail,))
current_Email = cur.fetchone()
print(current_Email)
if current_Email != None:
print('Email Invalid: Email already exists!')
form = Registration_Form()
exists = {
"email_exists": True
}
return render_template(exists,'register.html', form = form )
从注册表中调用 MariaDB 中的 SELECT 查询的正确语法是什么。 具体来说,在 WHERE 子句中。我一直在网上寻找调试这个,但它似乎不起作用(语义上)。
这是我的 python 烧瓶中的代码。
@app.route('/check_email', methods = ['POST', 'GET'])
def chck_Email():
if request.method == 'POST':
visEmail = request.form['email']
conn = mariadb.connect(**config)
print(f"WE ARE CONNECTED ORAYT")
# create a connection cursor
cur = conn.cursor()
# execute an SQL statement
try:
print(visEmail)
#sql = " INSERT INTO visitor (Visitor_ID, Visitor_Name) VALUES( NULL, '{}')".format(Visitor_ID, Visitor_Name)
current_Email= cur.execute("SELECT user_Email FROM user_account WHERE user_Email = ?",(visEmail,))
print(current_Email)
if current_Email != None:
print('Email Invalid: Email already exists!')
form = Registration_Form()
exists = {
"email_exists": True
}
return render_template(exists,'register.html', form = form )
""visEmail 是应该保存用户在单击提交时提供的电子邮件地址的变量,程序然后检查数据库中是否已存在给定的电子邮件地址。
我打印了 visEmail 变量中的数据以查看字符串(这很好),但是在数据库中执行 return 我用“None”(它不应该是 returning a None 因为我已经在数据库上有了给定的电子邮件地址)。它应该 return 错误“电子邮件已经存在”
非常感谢
您没有获取结果行。 cur.execute()
没有 return 任何东西,您必须调用 cur.fetchone()
来获取结果,并将其分配给 current_Email
.
try:
print(visEmail)
#sql = " INSERT INTO visitor (Visitor_ID, Visitor_Name) VALUES( NULL, '{}')".format(Visitor_ID, Visitor_Name)
cur.execute("SELECT user_Email FROM user_account WHERE user_Email = ?",(visEmail,))
current_Email = cur.fetchone()
print(current_Email)
if current_Email != None:
print('Email Invalid: Email already exists!')
form = Registration_Form()
exists = {
"email_exists": True
}
return render_template(exists,'register.html', form = form )