🎯 Mục tiêu bài học
Sau bài này, bạn sẽ biết:
✅ Cập nhật dữ liệu đã có trong database
✅ Viết câu lệnh SQL UPDATE
✅ Nhận dữ liệu từ form sửa
✅ Dùng PHP kết nối MySQL để cập nhật
✅ Hiểu quy trình "Sửa dữ liệu" trong CRUD
1️⃣ UPDATE trong MySQL là gì?
UPDATE dùng để thay đổi dữ liệu đã tồn tại trong bảng.
Ví dụ:
Bảng users
| id | hoten | tuoi | |
|---|---|---|---|
| 1 | Nguyễn Văn A | a@gmail.com | 20 |
Muốn đổi tuổi từ 20 thành 25:
UPDATE users
SET tuoi = 25
WHERE id = 1;
Kết quả:
| id | hoten | tuoi | |
|---|---|---|---|
| 1 | Nguyễn Văn A | a@gmail.com | 25 |
2️⃣ Cấu trúc UPDATE
Cú pháp:
UPDATE ten_bang
SET cot1 = gia_tri1,
cot2 = gia_tri2
WHERE dieu_kien;
Ví dụ:
UPDATE users
SET hoten = 'Trần Văn B',
tuoi = 30
WHERE id = 2;
3️⃣ Kết nối database bằng PHP
File:
connect.php
<?php
$conn = mysqli_connect(
"localhost",
"root",
"",
"qlsv"
);
if(!$conn){
die("Lỗi kết nối database");
}
?>
4️⃣ Form sửa dữ liệu
Ví dụ sửa sinh viên:
<form action="update.php" method="post">
<input
type="text"
name="hoten"
placeholder="Nhập họ tên">
<input
type="number"
name="tuoi"
placeholder="Nhập tuổi">
<input
type="hidden"
name="id"
value="1">
<button type="submit">
Cập nhật
</button>
</form>
5️⃣ Nhận dữ liệu bằng PHP
File:
update.php
<?php
include "connect.php";
$id = $_POST['id'];
$hoten = $_POST['hoten'];
$tuoi = $_POST['tuoi'];
$sql = "
UPDATE users
SET
hoten='$hoten',
tuoi='$tuoi'
WHERE id=$id
";
$result = mysqli_query(
$conn,
$sql
);
if($result){
echo "Cập nhật thành công";
}else{
echo "Có lỗi xảy ra";
}
?>
6️⃣ Luồng hoạt động UPDATE
Người dùng
|
|
Form sửa
|
|
POST dữ liệu
|
|
PHP nhận dữ liệu
|
|
SQL UPDATE
|
|
MySQL thay đổi dữ liệu
7️⃣ Kiểm tra số dòng bị thay đổi
PHP có:
mysqli_affected_rows()
Ví dụ:
if(mysqli_affected_rows($conn)>0){
echo "Đã cập nhật";
}else{
echo "Không có thay đổi";
}
8️⃣ Tránh lỗi SQL Injection
Cách trên:
$hoten=$_POST['hoten'];
chưa an toàn.
PHP hiện đại dùng:
Prepared Statement
Ví dụ:
$sql = "
UPDATE users
SET hoten=?,
tuoi=?
WHERE id=?
";
$stmt = mysqli_prepare(
$conn,
$sql
);
mysqli_stmt_bind_param(
$stmt,
"sii",
$hoten,
$tuoi,
$id
);
mysqli_stmt_execute($stmt);
9️⃣ Ví dụ CRUD thực tế
Bảng:
baiviet
Dữ liệu:
id
title
content
Sửa bài viết:
UPDATE baiviet
SET
title='PHP 8.2 Cơ bản',
content='Bài học UPDATE'
WHERE id=5;
🔟 Quy trình CRUD
| 🔢 | Chức năng | SQL |
|---|---|---|
| 1️⃣ | Thêm dữ liệu | INSERT |
| 2️⃣ | Xem dữ liệu | SELECT |
| 3️⃣ | Sửa dữ liệu | UPDATE |
| 4️⃣ | Xóa dữ liệu | DELETE |
🧠 Ghi nhớ bài 25
⭐ UPDATE = thay đổi dữ liệu cũ
⭐ Luôn có WHERE để tránh sửa toàn bộ bảng
⭐ Form sửa thường dùng method="post"
⭐ CRUD thực tế luôn đi theo:
List → Edit → Update → Redirect
🎯 Sau bài này bạn đã hoàn thành phần quan trọng nhất của web động:
PHP + HTML Form + MySQL
Bài tiếp theo:
📘 Bài 26 — DELETE dữ liệu
Xóa dữ liệu bằng PHP + MySQL
Kiểm tra trước khi xóa
Xác nhận bằng JavaScript
Xây dựng chức năng xóa an toàn
x0




Không có nhận xét nào:
Đăng nhận xét