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()
반응형
'👩💻 Develope > Python' 카테고리의 다른 글
[Python] 문자열 찾기 (0) | 2023.08.14 |
---|---|
[Flask] 외부에서 접속하기 (0) | 2023.07.20 |
[Flask] 메시지 플래싱 (Message Flashing) (0) | 2023.07.15 |
[Flask] form 값 받기 (request) (0) | 2023.07.14 |
[Python] OS (0) | 2023.07.06 |