1. 폼 만들기
2. mysql에 데이터 등록
실행하기
로그인 페이지에서 로그인을 시도해봤는데 db에 없다고 나온다.
no record : 명령 전달은 됬으나, db에 없는 내용
success : db에 있어서 무사히 매칭됨.
mysql 과 서버 연결과정 그리고, 서버에서 react로 data를 들고오는 상황을 그려보는게 잘 안되서 헷갈렸던 그런 내용이었음.
+ git 버전 관리를 통해 수행하는 프로젝트라 commit 관리 부분에서 예상치 못한 오류도 있었지만 무사히 넘어갔고,
commit을 branch에서 또 한다고 덮어 쓰는게 아니라 여러 commit이 남으며, 그 이전 commit 한 것으로 돌아갈 수 있다는 것도 배움.(물론 돌아가고 나서는 그 최신의 내용은 날라감.)
코드 설명 추가(헷갈리는 부분)
"SELECT * FROM users WHERE email = ? AND password = ?"
물음표(?)는 SQL 쿼리에서 사용되는 "파라미터화된 쿼리" 또는 "준비된 문장(prepared statement)"의 일부입니다. 이 기법은 SQL 인젝션 공격과 같은 보안 위협으로부터 보호하기 위해 사용됩니다.
db.query(sql, [req.body.email, req.body.password], (err, data) => { // ... });
- 첫 번째 매개변수 (SQL 쿼리 문자열):
- 이 매개변수는 실행할 SQL 쿼리를 문자열 형태로 받습니다. 예를 들어, "SELECT * FROM users WHERE email = ? AND password = ?"와 같은 쿼리가 이 위치에 옵니다.
- 쿼리에는 물음표(?)를 사용하여 파라미터를 대체할 수 있는 플레이스홀더가 포함될 수 있습니다.
- 두 번째 매개변수 (파라미터를 포함한 배열):
- 이 매개변수는 쿼리에 포함된 플레이스홀더(?)를 대체할 값들을 포함하는 배열입니다.
- 예를 들어, 사용자로부터 받은 email과 password 값이 배열로 전달되며, 이들은 쿼리의 물음표 자리에 순서대로 대입됩니다. 즉, 첫 번째 ?는 email로, 두 번째 ?는 password로 대체됩니다.
- 만약 쿼리에 플레이스홀더가 없다면, 이 매개변수는 생략할 수 있습니다.
'Web App Project' 카테고리의 다른 글
예시로 알아보는 get, post / req,res (0) | 2024.01.08 |
---|---|
초기 개발 세팅 고정(백엔드, 프론트) (0) | 2024.01.08 |
react, node.js, mysql 연결[db 연결내용은 숫자도 문자열로 전달] (0) | 2024.01.02 |
node.js에서 next.js로 백엔드 툴 변경하기엔 이르다. (0) | 2023.12.29 |
졸업작품 과정소개 (0) | 2023.06.21 |