Kể từ phiên bản PHP5 trở đi chúng ta có thể kết nối với MySQL bằng cách sử dụng hai thư viện chính đó là:

*

*

MySQLi (i là chữ viết tắt của improved)PDO (PHP Data Objects)

Đối với những phiên bản cũ thì có một bộ thư viện tên là MySQL, tuy nhiên bộ thư viện này sẽ bị gỡ bỏ khỏi PHP kể từ Version 5.3, vì vậy bạn không nên sử dụng nó.

Đang xem: Kết nối html với mysql

Câu hỏi đặt ra bây giờ là giữa hai bộ thư viện MySQLi và PDO thì nên sử dụng cái nào?

1. Nên sử dụng MySQLi hay PDO

Có lẽ câu trả lời hay nhất đó là bạn thích sử dụng cái nào thì tùy vào sở thích của bạn, mỗi cái đều có những ưu điểm riêng của nó. Tuy nhiên người ta vẫn đưa ra một số đánh giá để bạn quyết định chọn lựa.

Bài viết này được đăng tại

Thứ nhất: Với MySQLi thì chỉ có thể kết nối và xử lý với MySQL, còn PDO có thể kết nối với 12 hệ quản trị CSDL khác nhau. Như vậy nếu ứng dụng của bạn có kết nối với nhiều hệ quản trị CSDL thì bạn nên sử dụng PDO, còn chỉ một mình MySQL thôi thì có thể chọn MySQLi.

Thứ hai: Giả sử nếu dự án của bạn đang viết ở MySQL, nhưng một ngày nào đó bạn chuyển toàn bộ data sang SQL Server thì lúc này PDO lại có lợi thế hơn bởi vì bạn chỉ cần thay chuỗi kết nối là được. Nhưng với MySQLi thì ban sẽ phải viết lại toàn bộ dự án.

Thứ ba: Cả hai thư viện đều hỗ trợPrepared Statements, đây là vấn đề quan trọng để tránh lỗi SQL Injection.

Thứ tư:Cả hai thư viện đều hỗ trợobject-oriented (hướng đối tượng), nhưng đối với MySQLi thì hỗ trợ thêm các hàm thủ tục (Procedural).

Dựa vào bốn nhận xét trên rõ ràng ưu thế sẽ thuộc về PDO phải không các bạn :D.

Xem thêm: Hàm Value Là Gì Excel Dùng Để Làm Gì? Và Cách Viết Hàm Ra Sao

2. Kết nối PHP với MySQL

Vì PDO và MySQLi là các thư viện riêng nên muốn sử dụng bạn phải cài đặt nó vào bộ thư viện của PHP. Nhưng bạn đừng lo ngại vì hầu hết các Hosting, VPS hay Server đều đã cài đặt săn cho bạn, bạn chỉ việc sử dụng mà thôi.

Như ở bài mối liên hệ giữa PHP và MySQL mình có nói muốn thực thi câu truy vấn MySQL bằng PHP thì bạn phải thực hiện kết nối trước, sau đó bạn muốn làm gì thì làm. Cách kết nối như thế nào thì phụ thuộc vào thư viện bạn chọn, tuy nhiên trong bài mình sẽ trình bày ba cách đó là kết nối bằng PDO, MySQLi (object-oriented) và MySQLi (Procedural).

Trong các ví dụ dưới đây mình sử dụng thông tin kết nối như sau:

host: localhostusername: rootpassword: vertrigo

Trong đó:

host: là địa chỉ cài đặt MySQL, thông thường là localhostusername: là tên đăng nhập vào MySQLpassword: mật khẩu đăng nhập

Kết nối MySQL bằngMySQLi Object-Oriented:

// Tạo đối tượng mysqli$conn = new mysqli(“localhost”, “root”, “vertrigo”);// Kiểm tra kết nối thành công hay thất bại// nếu thất bại thì thông báo lỗiif ($conn->connect_error) { die(“Kết nối thất bại: ” . $conn->connect_error);} // Thông báo kết nối thành côngecho “Kết nối thành công”;

Lưu ý: Các phiên bản MySQL trước Version 5.3 sẽ phải sử dụng đoạn code sau để kiểm tra kết nối thành công hay thất bại.

if (mysqli_connect_error()) { die(“Kết nối thất bại: ” . mysqli_connect_error());}

Kết nối MySQL bằngMySQLi Procedural:

// Thực hiện kết nối$conn = mysqli_connect(“localhost”, “root”, “vertrigo”);// Kiểm tra kết nối thành công hay thất bại// nếu thất bại thì thông báo lỗiif (!$conn) { die(“Kết nối thất bại: ” . mysqli_connect_error());}// Thông báo kết nối thành côngecho “Kết nối thành công”;

Kết nối MySQL bằng PDO:

// Nhánh kết nối thành côngtry { // Kết nối $conn = new PDO(“mysql:host=localhost;dbname=DBName”, “root”, “vertrigo”); // Thiết lập chế độ lỗi $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Thông báo thành công echo “Kết nối thành công”;} // Nhánh kết nối thất bạicatch (PDOException $e) { echo “Kết nối thất bại: ” . $e->getMessage();}

Bạn để ý trong chuỗi kết nối mình có chọn database cho nó làdbname=DBName, đối với PDO ban phải chọn database để kết nối nữa nếu không sẽ bị lỗi.

3. Ngắt kết nối PHP với MySQL

Mỗi thư viện sẽ có một cách ngắt kết nối khác nhau.

Đối vớiMySQLi Object-Oriented:

$conn->close();

Đối vớiMySQLi Procedural:

mysqli_close($conn);

Đối với PDO:

$conn = null;

4. Lời kết

Như vậy là mình đã giới thiệu xong hai thư viện sử dụng để kết nối PHP với MySQL nhiều nhất đó là PDO và MySQLi, cả hai thư viện đều có những ưu điểm và nhược điểm nên việc chọn lựa thư viện nào để sử dụng thì phụ thuộc vào sở thích của bạn và bốn yếu tốmà mình đã trình bày ở trên.

Xem thêm: Chiến Dịch Huyền Thoại Cho Android, Chiến Dịch Huyền Thoại 3

Bài này mình dừng ở đây, bài tiếp theo chúng ta sẽ học cách tạo MySQL Table bằng lệnh PHP.

Danh sách file tải về

Tên file tải về Pass giải nén
Tải bài học định dạng PDF darkedeneurope.com hoặc gameportable.net

Bài trước Bài tiếp

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *