ตอนที่ 2: การสร้าง Database และการใช้ MySQLi เชื่อมต่อฐานข้อมูล
สวัสดีครับนักเรียน จากตอนที่แล้ว เราได้รู้จัก PHP และลองเขียนโค้ดเบื้องต้นกันไปแล้ว แต่เว็บที่ “ใช้งานได้จริง” จะต้องมีที่เก็บข้อมูล เหมือนสมองของระบบนั่นเอง
บทนี้ครูจะพาทุกคนสร้างการเก็บข้อมูล (Database) แล้วเชื่อม PHP เข้ากับ MySQL แบบที่ใช้ได้ในงานจริง เป็นก้าวสำคัญก่อนทำระบบ Login ระบบสมาชิก หรือโปรเจกต์จบเลยครับ
🎯 วัตถุประสงค์ของบทนี้
- สร้างฐานข้อมูลและตารางผ่าน phpMyAdmin
- เข้าใจ Data Types ที่จำเป็นสำหรับงานพื้นฐาน
- เขียนโค้ดเชื่อมต่อฐานข้อมูลด้วย MySQLi
- ดักจับข้อผิดพลาดเมื่อเชื่อมต่อไม่ได้
- รู้จักโครงสร้างไฟล์แบบมืออาชีพ
1. สร้างฐานข้อมูลด้วย phpMyAdmin
- เปิด Browser ไปที่
http://localhost/phpmyadmin/ - กด New ทางซ้าย
- ตั้งชื่อฐานข้อมูลว่า
my_basic_db - เลือก Collation เป็น
utf8mb4_general_ci - กด Create
จุดที่เด็กชอบลืมคือ Collation ถ้าไม่ตั้งเป็น utf8mb4 ภาษาไทยจะเพี้ยนทันที!
สร้างตาราง users
| ชื่อคอลัมน์ | ประเภท | ความยาว | คุณสมบัติ |
|---|---|---|---|
| id | INT | 11 | Primary Key, Auto Increment |
| username | VARCHAR | 50 | - |
| VARCHAR | 100 | - | |
| created_at | TIMESTAMP | - | Default CURRENT_TIMESTAMP |
ฟิลด์ id ควรเป็น INT + Auto Increment เสมอ เพราะใช้เป็นรหัสอ้างอิงข้อมูลได้ดีที่สุด
2. เขียนโค้ดเชื่อมต่อฐานข้อมูล
ครูอยากให้ทุกคนทำงานแบบมืออาชีพ คือแยกไฟล์เชื่อมต่อออกมาต่างหาก เพื่อไม่ต้องเขียนซ้ำหลายที่
สร้างไฟล์ db_config.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db_name = "my_basic_db";
// สร้างการเชื่อมต่อ
$conn = mysqli_connect($host, $user, $pass, $db_name);
// ตรวจสอบ
if (!$conn) {
die("เชื่อมต่อฐานข้อมูลล้มเหลว: " . mysqli_connect_error());
}
// รองรับภาษาไทย
mysqli_set_charset($conn, "utf8mb4");
// สำหรับทดสอบช่วงแรก
echo "เชื่อมต่อฐานข้อมูลสำเร็จ!";
?>จำให้ขึ้นใจ ห้ามเอาไฟล์นี้ไปวางโชว์ใน GitHub แบบ Public เพราะมีข้อมูลรหัสผ่าน!
3. เรียกใช้ไฟล์เชื่อมต่ออย่างถูกวิธี
<?php
require_once 'db_config.php';
echo "<h2>ยินดีต้อนรับสู่ระบบจัดการข้อมูล</h2>";
// ปิดการเชื่อมต่อเมื่อจบงาน
mysqli_close($conn);
?>ครูขอเน้น 2 เรื่อง:
- ใช้
require_onceแทน include - ปิด connection เมื่อเลิกใช้
ข้อผิดพลาดที่เจอบ่อยมาก
- พิมพ์ชื่อฐานข้อมูลผิด
- ลืมเปิด MySQL ใน XAMPP
- ไม่ได้ตั้ง utf8mb4 ทำให้ภาษาไทยเพี้ยน
- พาธไฟล์ require ไม่ถูก
เวลาเด็กมาปรึกษาครู 80% มาจาก 4 ข้อนี้เลยครับ
แบบฝึกหัด
- สร้างฐานข้อมูลใหม่ ชื่อ
shop_dbตารางproducts(id, product_name, price) - ลองทำให้ Error แก้ชื่อ DB ให้ผิด แล้วดูข้อความเตือน เพื่อฝึกอ่าน Error
- เพิ่มเงื่อนไข ถ้าเชื่อมต่อสำเร็จ ให้แสดงคำว่า Database Online
สรุปจากครูท้ายคาบ
วันนี้เราได้ก้าวสำคัญมาก ๆ
- สร้าง Database ด้วยตัวเอง
- เข้าใจโครงสร้างตาราง
- เชื่อม PHP ↔ MySQL ได้แล้ว
- รู้จักการดักจับ Error
ตอนหน้าเราจะเริ่ม “ของจริง” > รับข้อมูลจากฟอร์ม > บันทึกลงฐานข้อมูล > แบบปลอดภัยด้วย MySQLi
ใครทำตามได้ถึงตรงนี้ ครูบอกเลยว่าเก่งมากแล้วครับ
แล้วเจอกันตอนที่ ตอนที่ 3: การเพิ่มข้อมูล (Insert Data) ลงในฐานข้อมูล
