我对SQL还是很陌生,但我在学校项目中需要它。我正在尝试制作一个需要帐户的(python)网络应用程序。我可以将数据放入SQL数据库,但是现在我需要某种方法来验证数据库中是否已经存在电子邮件(通过html表单输入)。可能是有史以来最简单的查询,但我对如何开始一无所知。 :(
很抱歉,如果这是一个重复的问题,但是我找不到任何可以满足我需要的东西。
答案 0 :(得分:1)
如果您在项目中使用SQLAlchemy:
@app.route("/check_email")
def check_email():
# get email from you form data
email = request.form.get("email")
# check if someone already register with the email
user = Users.query.filter_by(email=email).first()
if not user:
# the email doesnt exist
pass
else:
# the email exists
pass
Users.query.filter_by(email=email).first()
等于SQL:
SELECT * from users where email="EMAIL_FROM_FORM_DATA"
如果您使用的是pymsql
(或类似的名称):
import pymsql
@app.route("/check_email")
def check_email():
# get email from you form data
email = request.form.get("email")
conn = connect(host='localhost',port=3306,user='',password='',database='essentials')
cs1 = conn.cursor()
params = [email]
# cursor return affected rows
count = cs1.execute('select * from users where email=%s', params) # prevent SqlInject
if count == 0:
# count 0 email
else:
# the email exists
# and if you want to fetch the user's info
user_info = cs1.fetchall() # the user_info should be a tuple
# close the connection
cs1.close()
conn.close()
答案 1 :(得分:0)
我能够通过简单地使用来解决我的问题
INSERT IGNORE
及之后的checking if it was ignored with the primary key。
谢谢大家的帮助!