NTM Solutions

Bài đăng nổi bật

🚀 Laravel 12 (2026) — Từ PHP Core đến Full Stack📘

Nếu cập nhật theo Laravel 12 LTS (2026) thì mình sẽ chia thành các phần như sau để người học đi từ PHP Core → Laravel → Triển khai dự án th...

Thứ Năm, 25 tháng 6, 2026

📘Bài 25 — UPDATE dữ liệu trong PHP + MySQL🐬


🎯 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


📌 Tạo bảng users

CREATE TABLE users (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    hoten VARCHAR(100) NOT NULL,
    tuoi TINYINT UNSIGNED NOT NULL
);

Giải thích:

🔢📝 Kiểu dữ liệu💡 Khi nào dùng
1️⃣INTTuổi nếu không quan tâm tối ưu bộ nhớ.
2️⃣TINYINT UNSIGNEDThích hợp nhất cho tuổi (0–255), tiết kiệm bộ nhớ.
3️⃣VARCHAR(100)Đủ cho hầu hết họ tên.
4️⃣NOT NULLKhông cho phép bỏ trống dữ liệu.

Thêm 2 dòng dữ liệu như sau:
INSERT INTO users (hoten, tuoi)
VALUES
('Nguyễn Văn A', 20),
('Trần Văn B', 30);


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

idhotenemailtuoi
1Nguyễn Văn Aa@gmail.com20

Muốn đổi tuổi từ 20 thành 25:

UPDATE users
SET tuoi = 25
WHERE id = 1;

Kết quả:

idhotenemailtuoi
1Nguyễn Văn Aa@gmail.com25

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ăngSQL
1️⃣Thêm dữ liệuINSERT
2️⃣Xem dữ liệuSELECT
3️⃣Sửa dữ liệuUPDATE
4️⃣Xóa dữ liệuDELETE

🧠 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

x1

quay về MỤC LỤC

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

Đăng nhận xét

Facebook Youtube RSS