Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
272 views
in Technique[技术] by (71.8m points)

Passing a python parameter into MySQL

I am trying to use my session parameter created in my login flask app to query my MySQL database. However, I think I'm going about this the wrong way. If I pass a username as a string into the sql string it works fine. Here is my flask app:

def home():
    try:
        if session.get('user'):
            _user = session.get('user')
           
            cursor.execute("SELECT name, position, team from player_position_team WHERE assigned_to = _user")
            conn.commit()
            data = cursor.fetchall()
            if len(data) == 0 and _user == 'all':
                cursor.execute("SELECT name, position, team from player_position_team")
                conn.commit()
                data = cursor.fetchall()
            return render_template('home.html', data=data)
        return render_template('home.html', data=data)
    except Exception as e:
        return render_template('error.html', error = str(e))
question from:https://stackoverflow.com/questions/65906746/passing-a-python-parameter-into-mysql

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
_user = session.get('user')
cursor.execute("SELECT name, position, team from player_position_team WHERE assigned_to = _user")

Should be:

cursor.execute("SELECT name, position, team from player_position_team WHERE assigned_to = %s", (session.get('user')))

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...