Как выбрать определенные строки из столбца mysql

У меня есть база данных пользователей. Мне нужно получать firstname и description тех, у которых есть определенный description. Например, получать firstname и description всех пользователей, у которых description равен firstdescription как на картинке. Все это происходит со страницы profile.html

Вот структура базы:

введите сюда описание изображения

register метод

@app.route('/register', methods=['GET', 'POST'])
def register():
    if request.method == 'POST':
        firstname = request.form['firstname']
        lastname = request.form['lastname']
        email = request.form['email']
        password = request.form['password']
        phone_number = request.form['number']
        born_date = request.form['date']
        description = request.form['description']

        cur = mysql.connection.cursor()
        cur.execute('SELECT * FROM users.data WHERE email = %s AND password = %s', 
                    (email, password))

        account = cur.fetchone()

        if account:
            return render_template('exist.html')
        else:
            session['email'] = email
            session['firstname'] = firstname
            cur.execute('INSERT INTO users.data(firstname, lastname, email, born_date, password, phone_number, description) VALUES (%s, %s, %s, %s, %s, %s, %s)', 
                        (firstname, lastname, email, born_date, password, phone_number, description))
            mysql.connection.commit()
            cur.close()
            return render_template('profile.html', email=session['email'], firstname=session['firstname'], description=description)

    return render_template('register.html')

profile method

@app.route('/profile', methods=['GET','POST'])
def profile():
    if request.method == 'GET' and 'loggedin' in session:
        cur = mysql.connection.cursor()
        cur.execute("SELECT firstname, description FROM users.data")

        account = cur.fetchall()
        description = account

        return render_template('profile.html', id=session['id'], email=session['email'], firstname=session['firstname'], description=description)

    render_template('profile.html', account=account)

когда я использую вариант ниже, то ничего не получаю и пишется ошибка unbound local error, description use before assignment

"SELECT description FROM users.data WHERE description = %s", (description['firstdescription'])

Как это можно решить?


Ответы (1 шт):

Автор решения: Aziz Umarov

Попробуйте так

 cur.execute("SELECT firstname,description FROM users.data WHERE description = 'firstdescription'")
→ Ссылка