Python, Flask, MySQL - Проверьте, существует ли электронная почта в базе данных - PullRequest
0 голосов
/ 28 октября 2018

Я довольно новичок в SQL, но он мне нужен для школьного проекта.Я пытаюсь сделать (Python) веб-приложение, которое требует учетных записей.Я могу поместить данные в свою базу данных SQL, но теперь мне нужен какой-то способ проверить, существует ли внутри базы данных электронное письмо (введенное через HTML-форму).Наверное, самый простой запрос, но я не знаю, как начать.: (

Извините, если это дублирующий вопрос, но я не могу найти там ничего, что делает то, что мне нужно.

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Мне удалось решить мою проблему, просто воспользовавшись INSERT IGNORE и после этого , проверив, игнорировалась ли она с помощью первичного ключа .

Спасибо всем, кто выручил!

0 голосов
/ 29 октября 2018

, если вы используете 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() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...