Giới Thiệu: CRUD Là Gì Và Vì Sao Quan Trọng?
Bạn mới học lập trình PHP và đang muốn xây dựng một ứng dụng thực tế đầu tay? Vậy thì CRUD chính là nền móng đầu tiên bạn cần nắm vững. CRUD là viết tắt của:
- Create: Tạo mới dữ liệu
- Read: Hiển thị dữ liệu
- Update: Cập nhật dữ liệu
- Delete: Xóa dữ liệu
Trong bất kỳ hệ thống nào — từ blog cá nhân cho đến trang quản lý doanh nghiệp — CRUD luôn là thành phần không thể thiếu. Nếu bạn làm tốt CRUD, nghĩa là bạn đã hiểu được cách lưu trữ, truy xuất và điều khiển thông tin trên web. Mà đó lại là linh hồn của một ứng dụng động.
Hãy tưởng tượng bạn đang xây dựng một hệ thống quản lý sản phẩm. Mỗi chức năng như thêm sản phẩm, chỉnh sửa giá, xem danh sách sản phẩm hay xoá sản phẩm đều là các thao tác CRUD.
Bài viết này sẽ đồng hành cùng bạn, từ khi tạo form nhập liệu đơn giản đến khi hoàn thiện toàn bộ vòng đời dữ liệu — một cách dễ hiểu, trực tiếp và thân thiện nhất có thể. Không dùng ngôn ngữ máy móc, không dàn trải khô khan – chỉ là bạn và những dòng code ý nghĩa, từng bước một.

Phần 1: Tạo Cơ Sở Dữ Liệu Và Cấu Trúc Bảng
Để bắt đầu, hãy mở phpMyAdmin và tạo một cơ sở dữ liệu mới với tên crud_app
. Sau đó, chạy đoạn SQL dưới đây để tạo bảng products
:
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price DECIMAL(10, 2) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Bảng này khá đơn giản, đúng không? Mỗi sản phẩm gồm tên, giá và thời gian thêm vào hệ thống. Chúng ta sẽ sử dụng bảng này cho tất cả ví dụ CRUD ở phần tiếp theo.
Phần 2: Kết Nối PHP Với MySQL
Hãy tạo một file tên là connect.php
:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "crud_app";
$conn = new mysqli($servername, $username, $password, $database);
if ($conn->connect_error) {
die("Kết nối thất bại: " . $conn->connect_error);
}
?>
Tệp này giúp chúng ta tránh lặp đi lặp lại đoạn code kết nối ở các file khác. Mỗi lần cần làm việc với DB, chỉ cần require 'connect.php';
là xong.
Phần 3: Chức Năng CREATE – Thêm Dữ Liệu Mới
Tạo file create.php
và viết HTML form như sau:
<form action="create.php" method="POST">
<input type="text" name="name" placeholder="Tên sản phẩm" required>
<input type="number" name="price" placeholder="Giá" step="0.01" required>
<button type="submit">Thêm sản phẩm</button>
</form>
Và xử lý dữ liệu phía dưới:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
require 'connect.php';
$name = $_POST['name'];
$price = $_POST['price'];
$stmt = $conn->prepare("INSERT INTO products (name, price) VALUES (?, ?)");
$stmt->bind_param("sd", $name, $price);
$stmt->execute();
header("Location: index.php");
}
Phần 4: Chức Năng READ – Hiển Thị Danh Sách Sản Phẩm
Tạo file index.php
:
require 'connect.php';
$result = $conn->query("SELECT * FROM products ORDER BY created_at DESC");
echo "<a href='create.php'>Thêm sản phẩm mới</a><hr>";
while ($row = $result->fetch_assoc()) {
echo $row['name'] . " - " . $row['price'] . " đ ";
echo " <a href='edit.php?id=".$row['id']."'>Sửa</a> | ";
echo "<a href='delete.php?id=".$row['id']."'>Xoá</a><br>";
}
Giờ bạn có thể thấy toàn bộ danh sách sản phẩm được hiển thị ngay trên trình duyệt.
Phần 5: Chức Năng UPDATE – Cập Nhật Dữ Liệu
Tạo file edit.php
:
require 'connect.php';
$id = $_GET['id'];
$result = $conn->query("SELECT * FROM products WHERE id=$id");
$product = $result->fetch_assoc();
Form hiển thị dữ liệu cần sửa:
<form method="POST">
<input type="text" name="name" value="<?= $product['name'] ?>">
<input type="number" name="price" value="<?= $product['price'] ?>">
<button type="submit">Cập nhật</button>
</form>
Xử lý dữ liệu POST:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'];
$price = $_POST['price'];
$stmt = $conn->prepare("UPDATE products SET name=?, price=? WHERE id=?");
$stmt->bind_param("sdi", $name, $price, $id);
$stmt->execute();
header("Location: index.php");
}
Phần 6: Chức Năng DELETE – Xoá Sản Phẩm
Tạo file delete.php
:
require 'connect.php';
$id = $_GET['id'];
$stmt = $conn->prepare("DELETE FROM products WHERE id=?");
$stmt->bind_param("i", $id);
$stmt->execute();
header("Location: index.php");
Vậy là bạn đã có đầy đủ chức năng CRUD rồi đó!
Câu Hỏi Thường Gặp (FAQ)
CRUD là gì trong lập trình?
CRUD là viết tắt của Create, Read, Update, Delete – bốn thao tác cơ bản nhất với dữ liệu trong mọi ứng dụng.
Tại sao nên bắt đầu học PHP CRUD trước khi học framework?
Vì PHP thuần giúp bạn hiểu bản chất, không phụ thuộc vào công cụ. Sau này chuyển sang Laravel hay bất kỳ framework nào cũng sẽ dễ hơn.
Có thể thêm tính năng tìm kiếm không?
Tất nhiên. Chỉ cần sử dụng LIKE
trong SQL và thêm một form tìm kiếm đơn giản.
Làm sao để bảo vệ dữ liệu người dùng?
Dùng prepared statements (đã áp dụng ở trên), xác thực dữ liệu đầu vào, và tránh SQL injection.
Kết Luận
Xây dựng chức năng CRUD hoàn chỉnh là bước đầu tiên để bạn làm chủ lập trình web với PHP. Hãy bắt đầu đơn giản, hiểu rõ từng dòng lệnh, và luyện tập thật nhiều.
Đừng sợ sai. Mỗi lần sửa lỗi thành công là bạn đang tiến bộ hơn.
Mình tin rằng sau bài viết này, bạn hoàn toàn có thể tự tin xây dựng ứng dụng nhỏ như quản lý công việc, sản phẩm, hay sổ tay cá nhân bằng PHP và MySQL. Còn chờ gì nữa — bật VSCode lên và bắt tay code ngay thôi!
Chúc bạn thành công!
🔗 Liên Kết Ngoài Tham Khảo
Hướng dẫn xử lý form trong PHP – PHP Manual (official)
→ Tài liệu chính thức từ PHP.net về cách tạo và xử lý biểu mẫu.Session Management – PHP Manual
→ Giải thích toàn diện về cơ chế session của PHP, cấu hình và bảo mật.CSRF Protection in PHP – MDN Web Docs
→ Kiến thức cơ bản và cách phòng chống tấn công CSRF cho form web.
Xem thêm:
🔗 Viết Chương Trình Đầu Tiên Với PHP: Hướng Dẫn Dành Cho Người Mới Bắt Đầu 2025