PHP 마법 학교 3기 3강: 보물 창고에 기록하기! ‘MySQL 데이터베이스 저장 마법’

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간에는 입학 신청서(HTML 폼)를 봉투에 담아 서버로 보내는 법을 배웠죠? 오늘은 서버에 도착한 친구들의 정보를 우리의 보물 창고인 ‘MySQL 데이터베이스’에 안전하게 기록하는 마법을 배워보겠습니다. 이제 드디어 우리 학교의 첫 번째 정식 마법사가 탄생하는 순간이에요!

PHP 마법 학교 3기 3강: 보물 창고에 기록하기! 'MySQL 데이터베이스 저장 마법'

1. 배달된 정보 낚아채기: $_POST 변수

HTML 폼에서 던진 정보들은 PHP 세상에 도착하면 $_POST라는 마법의 장바구니에 담기게 됩니다. 우리는 장바구니에서 아이디와 비밀번호를 꺼내기만 하면 돼요. 지난 시간에 배운 암호화 마법(password_hash)도 잊지 말고 적용해 볼까요?

2. 보물 창고에 저장하는 주문서 (코드)

데이터베이스와 연결하고, 정보를 쏙 집어넣는 INSERT 주문을 외워봅시다.

<?php
  // join_magic.php

  // 1. 장바구니에서 정보 꺼내기
  $userid = $_POST['wizard_id'];
  $userpw = $_POST['wizard_pw'];

  // 2. 비밀번호 암호화 마법 걸기
  $secure_pw = password_hash($userpw, PASSWORD_DEFAULT);

  // 3. 보물 창고(DB)와 연결하기
  $conn = mysqli_connect("localhost", "root", "비밀번호", "magic_school");

  // 4. 창고에 정보 저장하기 (INSERT 주문)
  $sql = "INSERT INTO wizards (userid, password) VALUES ('$userid', '$secure_pw')";

  if (mysqli_query($conn, $sql)) {
      echo "<div style='text-align:center; padding:50px;'>";
      echo "<h1>✨ 축하합니다! ✨</h1>";
      echo "<p>" . $userid . " 님은 이제 정식 마법사입니다!</p>";
      echo "</div>";
  } else {
      echo "❌ 마법 실패: " . mysqli_error($conn);
  }

  mysqli_close($conn);
?>

3. INSERT INTO: “창고 안으로 쏙!”

오늘의 핵심 주문인 INSERT INTO는 말 그대로 “~안에 집어넣다”라는 뜻이에요.
1. wizards: 정보를 넣을 테이블(서랍) 이름이에요.
2. (userid, password): 어떤 칸에 넣을지 정해요.
3. VALUES: 실제로 넣을 진짜 내용물들이에요.
이 주문을 외우면 데이터베이스 서랍에 새로운 칸이 생기면서 우리 친구의 정보가 영원히 기록된답니다.

PHP 마법 학교 3기 3강: 보물 창고에 기록하기! 'MySQL 데이터베이스 저장 마법'

4. 아이들과 함께하는 ‘장부 기록’ 놀이

아이와 함께 ‘우리 집 도서관 장부’를 만들어보세요. 새로운 책을 사 오면(회원가입), 장부에 [날짜, 책 제목, 주인]을 적는 거죠. “방금 네가 적은 이 한 줄이 데이터베이스의 Record(레코드)야!”라고 설명해 주세요. 기록이 쌓여야 나중에 누가 어떤 책을 가지고 있는지 알 수 있듯이, 회원 정보도 기록이 되어야 로그인을 할 수 있다는 점을 알려주면 좋습니다.

마치며: 나만의 회원 명부 완성!

이제 여러분의 보물 창고에는 정식 마법사들의 명단이 하나둘 쌓이기 시작할 거예요. 정말 뿌듯하죠? 하지만 입학만 하고 학교 문을 열고 들어오지 못하면 안 되겠죠? 다음 시간에는 창고에 저장된 정보가 맞는지 확인하고 성문을 열어주는 ‘로그인과 세션 마법’에 대해 배워보겠습니다. 다음 시간에 만나요!