👩💻 Develope/Python
[Pymysql] 파라미터 전달
heywantodo
2023. 7. 16. 14:19
728x90
반응형
[Pymysql] 파라미터 전달
사용자의 입력값을 받아서 select 절이나 where 절에 사용하고 싶을 때,
pymysql에선 %s를 이용하여 파라미터를 전달한다.
나같은 경우엔 로그인 정보가 맞는지 대조하기위해 사용
플라스크에서 request.form 이용해 클라이언트의 입력값를 서버로 받아온다.
if request.method == 'POST':
username = request.form['id']
password = request.form['pwd']
그 후 db를 연결 한후 cursor로 값을 조회
cursor.execute에서 query와 변수를 넣는다
with db.cursor() as cursor:
sql = """
SELECT idx, userid, userpwd, usermail
FROM member
WHERE userid = %s
"""
cursor.execute(sql, username)
rows = cursor.fetchall()
finally:
db.close()
만약 파라미터가 여러개라면, 아래와 같이 사용할 수 있다.
idx = request.form['idx']
password = request.form['pwd']
email = request.form['email']
values = [
password,
email,
idx
]
변수값들을 list로 묶어서 excute값에 추가한다.
try:
sql = """
UPDATE member
SET userpwd = %s, usermail = %s
WHERE idx = %s
"""
cursor.execute(sql, values)
db.commit()
session.clear()
redirect('login')
flash('재로그인이 필요합니다.')
finally:
cursor.close()
db.close()
728x90
반응형