Backend/JavaScript,NodeJS, Express

간단한 회원가입 쿼리짜기

jellylucy 2021. 5. 6. 00:12

의문점 : 여러 정보들 입력 값 중, null이 존재하면 db 저장에 오류가 생기나?

답 : No, 있는 값만 들어간다.

 

 

1. Postman에서 입력 받기 

: 사용자가 회원가입 시, 입력한 값을 받는다

: User DB의 모든 값을 입력 받을 수 있으나,

입력 없는 값은 null로 들어간다.

 

2. 예외처리 :  입력 중, 이메일 중복이 있으면 INSERT 안한다

"존재하는 이메일입니다"

 

3. 입력 값 DB에 넣어주기

 

  router.post('/data', async (req, res) => {

    const getUser = "SELECT * FROM user WHERE email=?";
    const getResult = await db.queryParam_Parse(getUser, req.body.email);
  
    if (getResult[0]==null) {
      console.log("중복 없음");
      const Signup = "INSERT INTO user(email, password, name, phone, user_identity, nickname, cancer_kind, cancer_status, cancer_step, gender, age, height, weight, disease, disable_food) Values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
      const SignupResult = await db.queryParam_Parse(Signup, [req.body.email, req.body.password, req.body.name, req.body.phone, req.body.user_identity, req.body.nickname, req.body.cancer_kind, req.body.cancer_status, req.body.cancer_step, req.body.gender, req.body.age, req.body.height, req.body.weight, req.body.disease, req.body.disable_food]);
      res.status(200).send(SignupResult);
    }else{
      res.status(200).send("존재하는 이메일입니다.");
    }
    
  });