Hướng dẫn dùng mysqli_connect trong PHP

Hàm mysqli_connect() sẽ kết nối tới MySQL server.

Hướng dẫn dùng mysqli_connect trong PHP

Hướng dẫn dùng mysqli_connect trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú phápmysqli_connect( $host, $username, $pass, $dbname);

Trong đó:

  • $host là tên hosting.
  • $username là tên người dùng MySQL.
  • $pass là mật khẩu của người dùng.
  • $dbname là tên cơ sở dữ liệu cần kết nối.

Kết quả trả về

Hàm sẽ trả về một đối tượng đại diện cho kết nối với MySQL server.

Bài viết này được đăng tại [free tuts .net]

Ví dụ

Ví dụ về cách sử dụng hàm mysqli_connect():

Code

$link = mysqli_connect('localhost', 'root', '', 'lmgo');

if (!$link) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);;

Kết quả

Success... localhost via TCP/IP

Lưu ý rằng đây là tên csdl, username và password của mình. Cần phải thay đổi phù hợp với csdl, username, password của các bạn để hàm có thể kết nối.

Tham khảo: php.net

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 

, 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é.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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);

Bài viết này được đăng tại [free tuts .net]

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.