在mysql中的表中插入有效的电子邮件



我想编写代码来提供用户的用户名和密码,并检查电子邮件的格式。电子邮件的格式为expression(string或number或两者兼有(@string.string。如果电子邮件的格式正确,我必须将此电子邮件和密码输入数据库中的表中。你能帮我写正确的代码吗?我的代码不起作用?

import re
import mysql.connector
cnx = mysql.connector.connect(user='root', password='',
host='127.0.0.1',
database='username_password')
cursor = cnx.cursor()
print("Enter email address: ")
email=input()
print("enter password: ")
password=input()
regex = '^[a-z0-9]+[._]?[a-z0-9]+[@]w+[.]w{2,3}$'  
def check(email):   
if(re.search(regex,email)):   
return("Valid Email")

else:   
print("Invalid Email")
print("Enter correct format: expression@string.string")
print("Enter email address: ")
email=input()
if __name__ == '__main__' :     
check(email)
if check(email)=="Valid Email":
cursor.execute("INSERT INTO _info Values (email,password)")
cnx.commit()

您需要有一个方法,该方法的工作定义良好,目前它可以返回字符串或输入新的电子邮件,一种选择是该方法只返回一个vlaid电子邮件

还要检查如何在数据库中插入,您需要在某个点传递的值

def get_valid_email():
regex = r'^[a-z0-9]+[._]?[a-z0-9]+[@]w+[.]w{2,3}$'
email = input("Enter email address: ")
while not re.fullmatch(regex, email):
print("Invalid Email")
print("Enter correct format: expression@string.string")
email = input("Enter email address: ")
return email

if __name__ == '__main__':
cnx = mysql.connector.connect(user='root', password='',
host='127.0.0.1',
database='username_password')
cursor = cnx.cursor()
email = get_valid_email()
password = input("enter password: ")
cursor.execute("INSERT INTO _info Values (%s,%s)", (email, password))
cnx.commit()

最新更新