REST API + MySQL2 연동 작업 시 자잘한 팁

2022. 5. 2. 19:13Web & Server/수업 내용

app.post("/pathname", async (res, req) => {

    const promisePool = pool.promise();

    await promisePool.query(

    `select email, password, count(*) from members where email = ?`,

    [email]

    );

});

 

1. async를 함수 앞에 붙이는 것 잊지 않기

 

2. 쿼리문 작성 시 오직 백틱 + ? 만 사용하기.

백틱 + ${email} 로 사용 시 작동이 안 된다.

오류메시지도 띄우지 않고 그냥 인식 자체를 안하기에 헤매기 십상이었다. 

 

3. mysql 쪽에서도 오류가 발생할 수 있음을 인지하기.

 

4. mysql 쿼리 작성 후 rows 값을 사용할 때 값 타입이 배열인지 객체인지 유의하기.

배열이면 rows[n].가져올 값 이름 식으로 해야하고,

객체라면 rows.affectedRows 식으로 해야 한다.

 

예를 들어, 쿼리문이 insert라면 객체 타입의 rows가 반환된다.

select 문은 배열 타입으로 반환된다.

 

 

+++

npm에서 비밀번호 암호화 패키지 받아서 createSalt 가능함.