Bạn mới bắt đầu học lập trình PHP? Sau khi đã làm quen với cú pháp cơ bản, biến, vòng lặp và hàm – thì chắc chắn bạn sẽ sớm chạm đến một phần quan trọng không thể thiếu: cơ sở dữ liệu. Và trong thế giới lập trình web, MySQL gần như là người bạn đồng hành phổ biến nhất khi kết hợp cùng PHP.
Bài viết này sẽ hướng dẫn bạn từ những khái niệm đơn giản nhất về cơ sở dữ liệu MySQL, cho đến cách kết nối, truy vấn và thao tác dữ liệu thực tế bằng PHP. Đặc biệt, nội dung được trình bày tự nhiên, không máy móc, phù hợp với cả sinh viên và người tự học.

Phần 1: Cơ Sở Dữ Liệu MySQL Là Gì?
Trước khi bắt tay vào code, bạn cần hiểu rõ:
- MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở.
- Nó sử dụng ngôn ngữ SQL (Structured Query Language) để truy vấn.
- PHP kết hợp với MySQL để tạo nên những trang web động có khả năng lưu trữ và xử lý dữ liệu lớn.
Ví dụ: Một trang web bán hàng cần lưu thông tin khách hàng, sản phẩm, đơn hàng… tất cả đều được lưu trong MySQL.

Phần 2: Cài Đặt Môi Trường Làm Việc PHP + MySQL
Để bắt đầu, bạn cần:
- XAMPP (Windows) hoặc MAMP (macOS) – bộ phần mềm tích hợp Apache, PHP và MySQL.
- PhpMyAdmin – giao diện quản lý MySQL bằng trình duyệt.
Bước cài đặt nhanh:
- Tải XAMPP tại https://www.apachefriends.org
- Cài đặt như phần mềm bình thường
- Chạy XAMPP Control Panel, bật Apache và MySQL
- Truy cập
http://localhost/phpmyadmin
để kiểm tra
✅ Vậy là bạn đã có môi trường làm việc với PHP và MySQL rồi đấy!
Phần 3: Tạo Cơ Sở Dữ Liệu Và Bảng Trong MySQL
Tạo database:
Trong phpMyAdmin:
- Click “New” > nhập tên cơ sở dữ liệu (ví dụ:
hoc_php
) > nhấn Create.
Tạo bảng users
:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Giải thích:
id
: khóa chính tự tăngname
,email
: cột lưu dữ liệu chuỗicreated_at
: tự động lưu thời gian tạo bản ghi
Phần 4: Kết Nối PHP Với MySQL
PHP có 2 cách chính để kết nối với MySQL:
1. Dùng mysqli
:
<?php
$conn = new mysqli("localhost", "root", "", "hoc_php");
if ($conn->connect_error) {
die("Kết nối thất bại: " . $conn->connect_error);
}
?>
2. Dùng PDO
:
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=hoc_php", "root", "");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Kết nối thất bại: " . $e->getMessage());
}
?>
✅ Gợi ý: Nếu bạn học lập trình PHP nghiêm túc, nên làm quen với PDO vì tính linh hoạt và bảo mật cao hơn.
Phần 5: Thao Tác Dữ Liệu Với PHP + MySQL
Thêm bản ghi:
$sql = "INSERT INTO users (name, email) VALUES ('Minh', 'minh@gmail.com')";
$conn->query($sql);
Lấy danh sách người dùng:
$result = $conn->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
echo $row['name'] . " - " . $row['email'] . "<br>";
}
Cập nhật dữ liệu:
$sql = "UPDATE users SET name='Minh Nguyễn' WHERE id=1";
$conn->query($sql);
Xóa bản ghi:
$sql = "DELETE FROM users WHERE id=1";
$conn->query($sql);
✅ Từng câu lệnh SQL tương ứng với một hành động cụ thể trong website (ví dụ: đăng ký tài khoản, sửa hồ sơ, xóa đơn hàng…).
Phần 6: Sử Dụng Form HTML Để Tương Tác Với MySQL
Tạo form:
<form method="POST" action="add_user.php">
<input type="text" name="name" placeholder="Họ tên">
<input type="email" name="email" placeholder="Email">
<button type="submit">Gửi</button>
</form>
Xử lý dữ liệu từ form:
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
$conn->query($sql);
⚠️ Cảnh báo: Cách này có nguy cơ bị SQL Injection. Hãy dùng prepared statement!
Bảo mật với prepare
:
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$stmt->execute();
Phần 7: Tìm Hiểu Về Câu Lệnh SQL Nâng Cao
WHERE
,ORDER BY
,LIMIT
,JOIN
,GROUP BY
…- Kết hợp nhiều bảng với JOIN để xây dựng hệ thống thực tế
Ví dụ:
SELECT u.name, o.total FROM users u
JOIN orders o ON u.id = o.user_id
ORDER BY o.total DESC LIMIT 10;
Phần 8: Thực Hành – Xây Dựng Ứng Dụng Quản Lý Người Dùng
- Danh sách tất cả người dùng
- Form thêm người dùng
- Form sửa người dùng (dựa trên id)
- Nút xóa từng người dùng
👉 Đây là bài thực hành cực kỳ hiệu quả khi bạn đang học lập trình PHP kết hợp MySQL.
Phần 9: Tối Ưu Và Bảo Mật Khi Làm Việc Với MySQL
- Không để lộ thông tin kết nối ra ngoài file chính
- Luôn escape đầu vào hoặc dùng
prepare
- Tách file cấu hình DB riêng biệt (config.php)
- Giới hạn quyền user MySQL khi deploy
Tổng Kết
Làm việc với cơ sở dữ liệu là một trong những kỹ năng cốt lõi mà bạn cần thành thạo khi học lập trình PHP. MySQL không quá phức tạp, nhưng lại có sức mạnh rất lớn nếu bạn biết cách sử dụng đúng. Hãy bắt đầu bằng những thao tác đơn giản, sau đó từng bước xây dựng ứng dụng của riêng bạn.
Mở Rộng: Ngoài MySQL, bạn có thể làm việc với Cơ Sở Dữ Liệu khác như: PostgreSQL, SQLite, MongoDB và MariaDB nhé.
Chúc bạn kiên trì và sớm viết được những ứng dụng PHP kết hợp MySQL hoàn chỉnh!
📌 Tài nguyên tham khảo: php.net, w3schools – PHP & MySQL
Xem thêm: