Closed AntonSangho closed 4 years ago
signup page 진행 시 users table의 name table은 수정이 안됨
확인해보니 update되는 sql문이 없음
form으로 받은 name과 rfid정보로 sql문을 만들었다.
UPDATE users SET name={name} where rfid_uid ={rfid};
if set_signup(db, id, rfid, name, sex, year, phone, memo):
set_addname(db, name, rfid)
위와같이 먼저 users_detail에 insert를 실행하고 그 if문 안에서 sql를 실행하는 데 duplicate entry for key 'primary' 에러가 발생한다.
form으로 받은 name과 rfid정보로 sql문을 만들었다.
UPDATE users SET name={name} where rfid_uid ={rfid};
위와같이 먼저 users_detail에 insert를 실행하고 그 if문 안에서 sql를 실행하는 데 duplicate entry for key 'primary' 에러가 발생한다.
if set_signup(db, id, rfid, name, sex, year, phone, memo):
set_addname(db, name, rfid)
def set_signup(db, id, rfid, name, sex, year, phone, memo):
try:
cursor = db.cursor()
sql_1 = f"insert into users_detail(id,rfid,`name`, sex, year, phone, memo) value ('{id}','{rfid}', '{name}','{sex}','{year}','{phone}','{memo}');"
cursor.execute(sql_1)
db.commit()
sql_2 = f"update users set name='{name}' where rfid_uid ='{rfid}';"
cursor.execute(sql_2)
except pymysql.Error as e:
db.rollback()
db.close()
print("db error pymysql %d: %s" % (e.args[0], e.args[1]))
return 0
else:
db.commit()
db.close()
return 1
위와 같이 수정해서 해결했음
회원가입 페이지에서 등록할 카드 정보가 나오는데 이미 등록한 카드의 이름이 변경안되는 문제가 있음