티스토리 뷰
$_SESSION은 로그인한 사용자의 정보를 서버에 잠시 저장해두는 공간입니다.
쉽게 말하면:
“이 사용자는 방금 로그인한 사람이고, 아이디는 무엇이다”를 기억해두는 보관함입니다.
$_SESSION의 역할
웹사이트는 페이지를 이동할 때마다 원래는 사용자를 기억하지 못합니다.
예를 들어:
- login.php에서 로그인 성공
- board.php로 이동
- 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가지입니다.
| 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
'몸부림의 흔적' 카테고리의 다른 글
| # SNS 프로젝트 과정1 - 좋아요 & 댓글 기능 만들 때 쓰는 테이블에 관하여 (0) | 2026.05.02 |
|---|---|
| # SQL은 왜 대문자로 쓸까? / SQL에서 DESC란? / SQL에서 JOIN이란? (0) | 2026.04.30 |
| # 초보자가 자주 헷갈리는 php 문법 top 10 (0) | 2026.04.27 |
| # PHP 연산자와 문법, 조건문과 반복문 배우기 (0) | 2026.04.21 |
| # PHP에 관해서 (PHP 개념과 특징, 기본 문법까지) + form 태그 (0) | 2026.04.20 |
- Total
- Today
- Yesterday
- cost let var 비교
- 국제운전면허증 발급
- 은구비공원
- 컴파일러 인터프리터 비교
- 컴파일러와 인터프리터 차이
- php
- PHP 문법
- 로즈마리
- 자바스크립트 주요 키워드
- sql 핵심 개념
- 컴포즈 커피
- 클래스 개념
- SQL 개념
- $stmt
- php문법
- 호이스팅 개념
- 프리지아
- CRUD
- JavaScript
- 클래스랑 구조체 차이
- 에어프라이어 청소
- 나무 같은 사람이 되고 싶다
- 구조체 개념 이해하기 쉽게
- 파충류 동반자
- 톰 더 글로우 시그니처
- 컴파일러 언어
- php 개념
- 구조체와 배열의 차이
- 로즈마리 물꽂이
- sql 문법
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
