Bài 05: Kết nối Cơ Sở Dữ Liệu MYSQL Sử dụng MYSQLI

Trải qua 25 bài php căn bản thì chúng ta mới chỉ tìm hiểu râu ria bên ngoài các kiến thức về kỹ thuật lập trình nên có lẽ các bạn cảm thấy chưa HƯNG PHẤN wink, vì vậy để các bạn không bị chán thì trong bài này chúng ta sẽ tìm hiểu cách kết nối CSDL MYSQL với php và một số hàm xử lý database nhé.

1. Tạo Database

Trước tiên chúng ta tạo một database để test đã nhé, các bạn vào phpmyadmin và tạo một cơ sở dữ liệu tên là demo và tạo một table tên là customer bằng cách chạy câu truy vấn sau:

CREATE TABLE IF NOT EXISTS `customer` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(200) COLLATE utf8_unicode_ci DEFAULT NULL,
  `phone` VARCHAR(200) COLLATE utf8_unicode_ci DEFAULT NULL,
  `address` VARCHAR(500) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

INSERT INTO `customer` (`id`, `name`, `phone`, `address`) VALUES
(1, 'Nguyen Van A', '0970 306 603', NULL),
(2, 'Nguyen Van B', '0970 306 603', NULL),
(3, 'Nguyen Van C', '0970 306 603', NULL),
(4, 'Nguyen Van D', '0970 306 603', NULL);

Chúng ta sẽ thao tác với dữ liệu này.

2. Kết nối database với php

Để kết nối vào database ta sẽ dùng hàm mysqli_connect với cấu trúc như sau:

mysqli_connect($host, $user, $password, $database, $port, $socket). 

Trong đó:

  • $host: là địa chỉ host của bạn, thông thường là localhost luôn
  • $user: là tên đăng nhập vào database
  • $password: là mật khẩu kết nối vào database
  • $database: Tên database bạn chọn để xử lý
  • $port: Cổng kêt nối
  • $socket: Phương thức socket kết nối

Ví dụ:

$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Không thể kết nối tới database');

Tất cả những tham số đó thì ta chỉ quan tâm đến 4 tham số đầu tiên, 2 tham số còn lại bạn khỏi truyền vào nhé. Còn đoạn code or die ('Không thể kết nối tới database') dùng cho trường hợp không thể kết nối tới CSDL thì sẽ in ra màn hình dòng thông báo đó.

3. Câu truy vấn lấy danh sách record

Bạn tạo file demo.php với nội dung như sau:

// Kết nối CSDL và lưu vào biến kết nối
// Các tham số gồm:
// - localhost: là tên server, thường mặc định là localhost luôn
// - root: là tên đăng nhập vào database
// - vertrigo: là mật khẩu đăng nhập vào database
// - demo: Là database sẽ xử lý
$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Không thể kết nối tới database');

// Câu truy vấn
$sql = 'SELECT * FROM CUSTOMER';

// Thực hiện câu truy vấn, hàm này truyền hai tham số vào là biến kết nối và câu truy vấn
$result = mysqli_query($conn, $sql);

// Nếu thực thi không được thì thông báo truy vấn bị sai
if (!$result){
    die ('Câu truy vấn bị sai');
}

// Lặp qua kết quả và in ra ngoài màn hình
// Vì các field trong database là id, name, phone, address nên
// khi vardum mang sẽ có cấu trúc tương tự
while ($row = mysqli_fetch_assoc($result)){
    var_dump($row);
}

// Xóa kết quả khỏi bộ nhớ
mysqli_free_result($result);

// Sau khi thực thi xong thì ngắt kết nối database
mysqli_close($conn);

Để thực thi câu truy vấn bất kỳ thì ta dùng hàm mysqli_query()nếu câu truy vấn trả về danh sách thì ta sẽ dùng vòng lặp while để hiển thị nó ra. Chi tiết mình đã mô tả trong phần comment rồi nhé.

4. Câu truy vấn delete

Tương tự như phần 3, bạn sẽ viết một câu truy vấn delete và sau đó dùng hàm mysqli_query() để thực hiện.

Ví dụ:

$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Không thể kết nối tới database');

// Câu truy vấn
$sql = 'DELETE FROM customer WHERE id = 1';

// DELETE
if (mysqli_query($conn, $sql)){
    echo 'Xóa thành công';
}

// Ngắt kết nối
mysqli_close($conn);

5. Câu truy vấn update

Ta sẽ viết một câu truy vấn update và thực thi tương tự như phần 3,4.

Ví dụ:

$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Không thể kết nối tới database');

// Câu truy vấn
$sql = "UPDATE customer SET name = 'TEN MOI' where id = 2";

// DELETE
if (mysqli_query($conn, $sql)){
    echo 'Cập nhật thành công';
}

// Ngắt kết nối
mysqli_close($conn);

Note: Vì các bạn đang học hàm kết nối nên ở mỗi thao tác bạn vào database xem có thay đổi không nhé, ở những bài tiếp theo mình sẽ hướng dẫn viết HTML cụ thể hơn.

6. Lời kết

Trong bài này chỉ mang tính chất giới thiệu cách sử dụng một số hàm kết nối bằng cách dùng MYSQLI, ở những bài tiếp theo chúng ta sẽ tìm hiểu cụ thể và rõ ràng hơn. Bài tiếp theo chúng ta sẽ viết chức năng đăng ký thành viên với PHP. Chúc các bạn học tốt.

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Group Facebook để được hỗ trợ nhanh nhất.