Thêm, sửa và xóa dữ liệu trong PHP | Blog Mạng Lưới Toàn Cầu

Thứ Bảy, ngày 24 tháng 8 năm 2013

Thêm, sửa và xóa dữ liệu trong PHP



Các thao tác thêm sửa xóa dữ liệu trong MySQL bằng cách dùng mã PHP là những bài thực hành hết sức quan trọng. Những kiến thức ở bài này bạn sẽ gặp đi gặp lại rất thường xuyên. Sở dĩ nó quan trọng đến vậy là bởi trong thực tế gần như 100% các ứng dụng web đều cần đến các kỹ thuật thêm sửa xóa.

Thêm dữ liệu

Để thêm dữ liệu bạn dùng câu lệnh INSERT INTO, mẫu code như sau:

<?php

require 'database.php';

$ho_ten = 'Nguyễn Đức Anh';
$tuoi = '26';
$gioi_tinh = 'Nam';

$query = "INSERT INTO khach
                               (hoten, tuoi, gioitinh) 
                VALUES 
                               ('$ho_ten', '$tuoi', '$gioi_tinh')";

$result = $db->exec($query);

?>

Giải thích: Ở trong đoạn code trên tôi đã chèn vào bảng có tên là khach các giá trị lần lượt là $ho_ten vào cột hoten, $tuoi vào cột tuổi, $gioi_tinh vào cột giới tính.

Khi thêm dữ liệu luôn có 2 câu hỏi lớn:
  • Thêm dữ liệu vào đâu
  • Thêm cái gì với giá trị như thế nào?
Nghĩa tiếng Anh của INSERT INTO là CHÈN THÊM VÀO, VALUES là CÁC GIÁ TRỊ. 

Câu trả lời thì đầy đủ trong biến $query:
  • Thêm dữ liệu vào bảng khach với các cột là hoten, tuoi và gioitinh
  • Các giá trị tương ứng là $ho_ten, $tuoi và $gioi_tinh.
  • Cụ thể các giá trị thì $ho_ten tương ứng là Nguyễn Đức Anh, $tuoi là 26, $gioi_tinh là Nam.
Cuối cùng $result = $db->exec($query) sẽ tiến hành ghi dữ liệu vào bảng. Có một câu hỏi nhỏ, thế cái $db ở đâu ra vậy? ý nghĩa của nó là gì? 

$db là đại diện cho cơ sở dữ liệu, trước khi gọi được biến $db bạn phải tiến hành kết nối với CSDL, nó nằm ngay dòng đầu tiên: 

require 'database.php';

Nội dung của file database.php là gì thì mời bạn đọc bài viết: Kết nối cơ sở dữ liệu MySQL với PHP để chạy thử tại Localhost

Nội dung file database.php rất quan trọng, bất cứ hành vi nào tác động đến CSDL đều phải sử dụng đến nó.

Sửa dữ liệu

Để sửa dữ liệu bạn dùng lệnh UPDATE, mẫu code như sau:

<?php

require 'database.php';

$tuoi = '25';
$ma = 1;

$query = "UPDATE khach
      
SET tuoi = '$tuoi'

WHERE ma = '$ma'";                              

$result = $db->exec($query);

?>

Giải thích: Cập nhật bảng có tên là khach tại dòng có mã (khóa chính) là 1, thuộc tính cập nhật là cột tuổi, thay vì để giá trị là 26, tôi chuyển nó về 25;

Xóa dữ liệu

<?php

$ma = 1;

$query = "DELETE FROM khach
WHERE ma = '$ma'";

$result = $db->exec($query);

?>

Lệnh trên sẽ xóa dòng dữ liệu có khóa là 1 khỏi bảng khach. Code xóa dữ liệu là ngắn và đơn giản nhất so với Code thêm và sửa - bạn chỉ phải xác định 2 yếu tố là bảng và vị trí trong bảng cần xóa mà không cần quan tâm đến các cột.

$result trong cả 3 câu lệnh thêm sửa xóa đều có ý nghĩa là số dòng dữ liệu được thêm sửa xóa tương ứng. Chẳng hạn nếu tôi thêm 2 dòng dữ liệu thì $result = 2, nếu tôi cập nhật 1 dòng dữ liệu thì $result = 1, nếu tôi xóa 3 dòng dữ liệu thì $result = 3. Chúng ta thường sử dụng $result để biết được thao tác thêm, sửa, xóa có thành công hay không, $result > 0 tức là có ít nhất 1 dòng dữ liệu đã thay đổi.

if ($result > 0) {
echo 'Thao Tác Thành Công';
}

Xem thêm: