Phần mở rộng MySQL vs MySQLi
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ phổ biến (RDBMS). Nó là một DBMS mã nguồn mở được sử dụng rộng rãi ngay cả trong các doanh nghiệp quy mô lớn như Wikipedia, Google và Facebook. PHP (viết tắt của PHP: Hypertext Pre Processor) là ngôn ngữ kịch bản phía máy chủ, đặc biệt phù hợp để phát triển các trang web động và tương tác. MySQL và MySQLi là hai phần mở rộng được cung cấp cho sự tương tác của các ứng dụng PHP với cơ sở dữ liệu MySQL. Hai phần mở rộng này được triển khai bằng khung mở rộng PHP và chúng cung cấp API (Giao diện lập trình ứng dụng) cho các lập trình viên PHP để tương tác với cơ sở dữ liệu MySQL.
Phần mở rộng MySQL là gì?
Phần mở rộng MySQL là phần mở rộng đầu tiên được cung cấp để phát triển các ứng dụng PHP, có thể được sử dụng để tương tác với cơ sở dữ liệu MySQL. Điều này cung cấp một giao diện thủ tục cho các lập trình viên PHP tương tác với cơ sở dữ liệu MySQL. Tiện ích mở rộng này dự định chỉ được sử dụng với các phiên bản MySQL cũ hơn phiên bản 4.1.3. Mặc dù điều này có thể được sử dụng với MySQL phiên bản 4.1.3 hoặc mới hơn, bất kỳ tính năng mới nào trong các phiên bản đó sẽ không khả dụng. Hiện tại không có sự phát triển tích cực nào xảy ra trên MySQL Extension và nó không được khuyến khích cho các dự án mới. Phần mở rộng MySQL khác không hỗ trợ các câu lệnh được chuẩn bị phía máy chủ hoặc Câu lệnh được chuẩn bị phía máy khách. Nó cũng không hỗ trợ các thủ tục được lưu trữ hoặc Bộ ký tự.
Phần mở rộng MySQLi là gì?
Phần mở rộng MySQLi (còn gọi là phần mở rộng được cải tiến của MySQL) là phần mở rộng mới được cung cấp để phát triển các ứng dụng PHP có thể tương tác với cơ sở dữ liệu MySQL. Tiện ích mở rộng này được phát triển để sử dụng tối đa các tính năng có sẵn trong phiên bản MySQL 4.1.3 trở lên. Phần mở rộng MySQLi trước tiên được kết hợp với phiên bản PHP 5 và được bao gồm trong tất cả các phiên bản sau. Ngoài việc cung cấp giao diện thủ tục cho các lập trình viên PHP, MySQLi Extension còn cung cấp giao diện hướng đối tượng. Điều này cũng cung cấp hỗ trợ cho các câu lệnh được chuẩn bị phía máy khách / máy chủ và nhiều câu lệnh. Hơn nữa, nó hỗ trợ Charsets và các thủ tục được lưu trữ.
Sự khác biệt giữa phần mở rộng MySQL và MySQLi là gì?
Mặc dù cả Tiện ích mở rộng MySQL và Tiện ích mở rộng MySQL đều là các tiện ích mở rộng được cung cấp để phát triển các ứng dụng PHP có thể tương tác với cơ sở dữ liệu MySQL, nhưng Tiện ích mở rộng MySQL có một số cải tiến quan trọng so với Tiện ích mở rộng MySQL. Thứ nhất, Phần mở rộng MySQL được khuyến nghị sử dụng với các phiên bản MySQL cũ hơn 4.1.3, trong khi Phần mở rộng MySQL được khuyến nghị sử dụng với phiên bản MySQL 4.1.3 hoặc mới hơn. Ngoài ra, MySQLi Extension chỉ được tích hợp với phiên bản PHP 5 trở lên. Phần mở rộng MySQL chỉ cung cấp giao diện thủ tục cho các lập trình viên PHP, trong khi Phần mở rộng MySQLi cung cấp giao diện hướng đối tượng (ngoài giao diện thủ tục). Hơn nữa, Phần mở rộng MySQLi cung cấp hỗ trợ cho các câu lệnh được chuẩn bị và nhiều câu lệnh không được hỗ trợ trong Phần mở rộng MySQL. Phần mở rộng MySQLi cung cấp khả năng sửa lỗi được cải thiện khi so sánh với Phần mở rộng MySQL. Ngoài ra, Phần mở rộng MySQLi cung cấp hỗ trợ máy chủ nhúng và hỗ trợ giao dịch, vốn không có trong Phần mở rộng MySQL. Mặc dù Phần mở rộng MySQL có thể được sử dụng với các phiên bản MySQL 4.1.3 trở lên, nhưng bất kỳ tính năng mới nào có trong các phiên bản MySQL đó sẽ không khả dụng.