PDO_MYSQL là trình điều khiển triển khai giao diện Đối tượng dữ liệu PHP (PDO) để cho phép truy cập từ cơ sở dữ liệu PHP sang MySQL. Khi chạy phiên bản PHP trước 7.1.16 hoặc PHP 7.2 trước 7.2.4, hãy đặt plugin mật khẩu mặc định của Máy chủ MySQL 8 thành mysql_native_password, nếu không, bạn sẽ thấy các lỗi tương tự như Máy chủ yêu cầu phương thức xác thực không xác định đối với máy khách [caching_sha2_password] ngay cả khi caching_sha2_password Không được sử dụng. Điều này là do MySQL 8 mặc định là caching_sha2_password, một plugin không được các bản phát hành PHP (mysqlnd) cũ hơn nhận ra. Thay vào đó, hãy thay đổi nó bằng cách cài đặt trong . Plugin caching_sha2_password sẽ được hỗ trợ trong bản phát hành PHP trong tương lai. Trong khi chờ đợi, tiện ích mở rộng mysql_xdevapi hỗ trợ nó. Cảnh báo Cẩn thận: Một số loại bảng MySQL (công cụ lưu trữ) không hỗ trợ giao dịch. Khi viết mã cơ sở dữ liệu giao dịch bằng loại bảng không hỗ trợ giao dịch, MySQL sẽ giả vờ rằng một giao dịch đã được bắt đầu thành công. Ngoài ra, bất kỳ truy vấn DDL nào được đưa ra sẽ mặc nhiên là bất kỳ giao dịch đang chờ xử lý nào. Trình điều khiển MySQL không hỗ trợ đúng cách thông qua PDOStatement::bindParam trong khi các tham số đó có thể được sử dụng, chúng không được cập nhật (tức là đầu ra thực tế bị bỏ qua) Các bản phân phối Unix phổ biến bao gồm các phiên bản nhị phân của PHP có thể được cài đặt. Mặc dù các phiên bản nhị phân này thường được xây dựng với sự hỗ trợ cho các tiện ích mở rộng MySQL, nhưng bản thân các thư viện tiện ích mở rộng có thể cần được cài đặt bằng gói bổ sung. Kiểm tra trình quản lý gói đi kèm với bản phân phối bạn đã chọn để biết tính khả dụng. Ví dụ: trên Ubuntu, gói cài đặt các phần mở rộng ext/mysql, ext/mysqli và PDO_MYSQL PHP. Trên CentOS, gói cũng cài đặt ba phần mở rộng PHP này. Ngoài ra, bạn có thể tự biên dịch phần mở rộng này. Xây dựng PHP từ nguồn cho phép bạn chỉ định các tiện ích mở rộng MySQL mà bạn muốn sử dụng, cũng như lựa chọn thư viện máy khách của bạn cho mỗi tiện ích mở rộng. Khi biên dịch, hãy sử dụng --with-pdo-mysql[=DIR] để cài đặt phần mở rộng PDO MySQL, trong đó tùy chọn là thư viện cơ sở MySQL. Mysqlnd là thư viện mặc định. Để biết chi tiết về cách chọn thư viện, hãy xem phần Chọn thư viện MySQL. Theo tùy chọn, --with-mysql-sock[=DIR] đặt thành vị trí cho con trỏ ổ cắm unix MySQL cho tất cả các phần mở rộng MySQL, bao gồm cả PDO_MYSQL. Nếu không được chỉ định, các vị trí mặc định sẽ được tìm kiếm. Theo tùy chọn, --with-zlib-dir[=DIR] được sử dụng để đặt đường dẫn đến tiền tố cài đặt libz. Hỗ trợ SSL được bật bằng cách sử dụng các hằng số PDO_MySQL thích hợp, tương đương với việc gọi hàm ÃÂû API MySQL C mysql_ssl_set Ngoài ra, không thể bật SSL với PDO::setAttribute vì kết nối đã tồn tại. Xem thêm tài liệu MySQL về ÃÂû kết nối với MySQL bằng SSL Các hằng số bên dưới được xác định bởi trình điều khiển này và sẽ chỉ khả dụng khi tiện ích mở rộng đã được biên dịch thành PHP hoặc được tải động khi chạy. Ngoài ra, chỉ nên sử dụng các hằng số dành riêng cho trình điều khiển này nếu bạn đang sử dụng trình điều khiển này. Sử dụng các thuộc tính dành riêng cho trình điều khiển với trình điều khiển khác có thể dẫn đến hành vi không mong muốn. PDO::getAttribute() có thể được sử dụng để lấy thuộc tính để kiểm tra trình điều khiển, nếu mã của bạn có thể chạy trên nhiều trình điều khiển. trên a , trình điều khiển MySQL sẽ sử dụng các phiên bản đệm của API MySQL. Nếu bạn đang viết mã di động, bạn nên sử dụng thay thế. Nếu thuộc tính này được đặt thành a, thì trình điều khiển MySQL sẽ sử dụng các phiên bản đệm của API MySQL. Nếu bạn đang viết mã di động, thay vào đó bạn nên sử dụng. Ví dụ #1 Buộc các truy vấn được lưu vào bộ đệm trong mysql "ứng dụng của tôi chỉ hoạt động với mysql; thay vào đó, tôi nên sử dụng \$stmt->fetchAll()"Lưu ý, chỉ có thể sử dụng hằng số này trong mảng khi xây dựng một bộ điều khiển cơ sở dữ liệu mới. Cho phép hạn chế tải DỮ LIỆU ĐỊA PHƯƠNG vào các tệp nằm trong thư mục được chỉ định này. Có sẵn kể từ PHP 8.1.0. Lưu ý, hằng số này chỉ có thể được sử dụng trong mảng khi xây dựng một bộ điều khiển cơ sở dữ liệu mới. Lệnh thực thi khi kết nối với máy chủ MySQL. Sẽ tự động được thực hiện lại khi kết nối lại. Lưu ý, hằng số này chỉ có thể được sử dụng trong mảng khi xây dựng một bộ điều khiển cơ sở dữ liệu mới. Đọc các tùy chọn từ tệp tùy chọn được đặt tên thay vì từ tệp . Tùy chọn này không khả dụng nếu mysqlnd được sử dụng, bởi vì mysqlnd không đọc các tệp cấu hình mysql. Đọc các tùy chọn từ nhóm được đặt tên từ hoặc tệp được chỉ định bằng . Tùy chọn này không khả dụng nếu mysqlnd được sử dụng, bởi vì mysqlnd không đọc các tệp cấu hình mysql. Kích thước bộ đệm tối đa. Mặc định là 1 MiB. Hằng số này không được hỗ trợ khi biên dịch với mysqlnd. Trả về số hàng tìm thấy (khớp), không phải số hàng đã thay đổi. Đường dẫn tệp đến cơ quan cấp chứng chỉ SSL. Đường dẫn tệp đến thư mục chứa chứng chỉ SSL CA đáng tin cậy, được lưu trữ ở định dạng PEM. Đường dẫn tệp đến chứng chỉ SSL. Danh sách một hoặc nhiều mật mã được phép sử dụng để mã hóa SSL, ở định dạng được OpenSSL hiểu. Ví dụ: Đường dẫn tệp đến khóa SSL. Cung cấp một cách để tắt xác minh chứng chỉ SSL của máy chủ. Điều này tồn tại kể từ PHP 7.0.18 và PHP 7.1.4. Tắt thực thi nhiều truy vấn trong cả PDO::prepare() và PDO::query() khi được đặt thành . Lưu ý, hằng số này chỉ có thể được sử dụng trong mảng khi xây dựng một xử lý cơ sở dữ liệu mới Hành vi của các chức năng này bị ảnh hưởng bởi cài đặt trong . Để biết thêm chi tiết và định nghĩa về các chế độ PHP_INI_*, hãy xem phần Để biết thêm chi tiết và định nghĩa về các chế độ PHP_INI_*, hãy xem Vị trí cài đặt cấu hình có thể được đặt Đặt ổ cắm miền Unix. Giá trị này có thể được đặt tại thời điểm biên dịch nếu ổ cắm tên miền được tìm thấy khi định cấu hình. Cài đặt ini này chỉ dành cho Unix. Bật gỡ lỗi cho PDO_MYSQL. Cài đặt này chỉ khả dụng khi PDO_MYSQL được biên dịch theo mysqlnd và ở chế độ gỡ lỗi PDO.