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';
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);
?>
?>
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ó.
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';
require 'database.php';
$tuoi = '25';
$ma = 1;
$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;
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';
}
?>
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);
?>
$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:
No comments:
Post a Comment