從注冊表中呼叫 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 變數中列印了資料以查看字串(這很好),但是資料庫中的執行回傳給我“無”(它不應該回傳無,因為我已經在資料庫上有了給定的電子郵件地址) . 它應該回傳錯誤“電子郵件已經存在”
非常感謝你
uj5u.com熱心網友回復:
您沒有獲取結果行。cur.execute()不回傳任何內容,您必須呼叫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 )
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/397301.html
標籤:Python 烧瓶 选择 玛丽亚数据库 where子句
