티스토리 뷰

 

$_SESSION은 로그인한 사용자의 정보를 서버에 잠시 저장해두는 공간입니다.

쉽게 말하면:

“이 사용자는 방금 로그인한 사람이고, 아이디는 무엇이다”를 기억해두는 보관함입니다.

$_SESSION의 역할

웹사이트는 페이지를 이동할 때마다 원래는 사용자를 기억하지 못합니다.

예를 들어:

  1. login.php에서 로그인 성공
  2. board.php로 이동
  3. write.php로 이동

이때 서버가 계속 “이 사람이 누구였지?”를 알 수 있게 해주는 것이 $_SESSION입니다.

네 코드에서는 이렇게 쓰입니다

네 프로젝트에서는 로그인 세션으로:

 
$_SESSION['loginid']
 

를 사용합니다.

즉, 로그인 성공 시 보통 이런 식으로 저장됩니다.

 
$_SESSION['loginid'] = $id;
 

예를 들어 사용자가 hong123으로 로그인했다면:

 
$_SESSION['loginid'] = "hong123";
 

이렇게 서버가 기억합니다.

네 DB 구조와 연결하면

회원 테이블은 tb_member이고 주요 컬럼은:

idx, id, pw, name, email, join_date
 

게시글 테이블 posts의 작성자 컬럼은:

user_id
 

그리고 이 posts.user_id는 tb_member.id와 연결되어야 합니다.

그래서 게시글 작성 시에는 보통 이렇게 됩니다.

 
$user_id = $_SESSION['loginid'];
 

그리고 글 저장할 때:

 
INSERT INTO posts (user_id, title, content)
VALUES ('$user_id', '$title', '$content')
 

즉:

$_SESSION['loginid']
→ tb_member.id
→ posts.user_id
 

이 흐름입니다.

한 줄 요약

$_SESSION['loginid']는 현재 로그인한 사용자의 아이디를 기억하는 값이고, 네 코드에서는 게시글 작성자 확인, 로그인 여부 확인, 사용자별 권한 처리에 사용됩니다.

 

 


 

 

좋아요. SQL 처음 공부할 때는 전체 구조를 한 번 잡는 게 중요합니다.
특히 네가 말한 INSERT, SELECT, DELETE, 그리고 빠뜨린 하나는 👉 UPDATE 입니다.

이 4개는 진짜 핵심이라 먼저 제대로 잡고, 나머지를 확장하면 됩니다.


🔥 1. CRUD 개념 (가장 중요)

SQL의 핵심은 딱 4가지입니다.

기능SQL의미
Create INSERT 데이터 추가
Read SELECT 데이터 조회
Update UPDATE 데이터 수정
Delete DELETE 데이터 삭제

👉 이 4개만 이해하면 DB 70% 이해한 겁니다.


2. SELECT (조회) ⭐⭐⭐⭐⭐

데이터를 읽어오는 명령어

 
SELECT * FROM tb_member;
 

👉 회원 테이블 전체 조회

특정 컬럼만:

 
SELECT id, name FROM tb_member;
 

조건 검색:

 
SELECT * FROM tb_member WHERE id = 'hong123';
 

✔ 특징

  • 가장 많이 사용됨
  • 데이터는 절대 바뀌지 않음 (안전)

3. INSERT (데이터 추가) ⭐⭐⭐⭐⭐

 
INSERT INTO tb_member (id, pw, name, email)
VALUES ('hong123', '1234', '홍길동', 'test@test.com');
 

✔ 특징

  • 새로운 데이터를 "한 줄 추가"
  • 컬럼 순서 중요

4. UPDATE (데이터 수정) ⭐⭐⭐⭐⭐

 
UPDATE tb_member
SET email = 'new@test.com'
WHERE id = 'hong123';
 

✔ 핵심 포인트
👉 WHERE 없으면 전체 데이터 수정됨 (대참사)

 
UPDATE tb_member SET email = 'hack@test.com';
-- 모든 사람 이메일 바뀜
 

5. DELETE (데이터 삭제) ⭐⭐⭐⭐⭐

 
DELETE FROM tb_member
WHERE id = 'hong123';
 

✔ 핵심 포인트
👉 이것도 WHERE 없으면 전부 삭제

 
DELETE FROM tb_member;
-- 테이블 비어버림 💀
 

6. WHERE (조건 필터)

데이터를 걸러내는 조건

 
SELECT * FROM tb_member WHERE name = '홍길동';
 

다중 조건:

 
SELECT * FROM tb_member 
WHERE id = 'hong123' AND pw = '1234';
 

7. ORDER BY (정렬)

 
SELECT * FROM posts ORDER BY idx DESC;
 

✔ 최신 글부터 보기 (게시판 필수)


8. LIMIT (개수 제한)

 
SELECT * FROM posts LIMIT 10;
 

✔ 게시판 페이징에서 필수


9. JOIN (테이블 연결) ⭐⭐⭐⭐

네 프로젝트에서 핵심 개념

 
SELECT *
FROM posts p
JOIN tb_member m ON p.user_id = m.id;
 

👉 게시글 + 작성자 정보 같이 가져오기


10. PRIMARY KEY / FOREIGN KEY (관계 개념)

✔ PRIMARY KEY
→ 각 행을 구분하는 고유값 (idx)

✔ FOREIGN KEY
→ 다른 테이블과 연결 (posts.user_id → tb_member.id)


💡 너 프로젝트 기준으로 핵심 흐름

글 작성

 
INSERT INTO posts (user_id, title, content)
VALUES ('$_SESSION[loginid]', '제목', '내용');
 

글 조회

 
SELECT * FROM posts ORDER BY idx DESC;
 

글 수정

 
UPDATE posts SET title='수정' WHERE idx=1;
 

글 삭제

 
DELETE FROM posts WHERE idx=1;
 

🚀 진짜 중요한 포인트 (시험/실무 둘 다)

  • SELECT → 읽기
  • INSERT → 추가
  • UPDATE → 수정 (WHERE 필수)
  • DELETE → 삭제 (WHERE 필수)

👉 이 4개는 무조건 손에 익혀야 합니다.

 

By. ChatGPT

 

 


SELECT * FROM
WHERE

INSERT INTO
VALUES

UPDATE
SET
WHERE

DELETE FROM
WHERE