Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tại sao các hàm mysql_ của PHP không được dùng nữa?

Phần mở rộng mysql là lâu đời và đã có từ phiên bản PHP 2.0, được phát hành cách đây 15 năm (!!); là một con thú hoàn toàn khác với PHP hiện đại, nó cố gắng loại bỏ những thói quen xấu trong quá khứ của nó. Phần mở rộng mysql là một trình kết nối rất thô, cấp thấp với MySQL, thiếu nhiều tính năng tiện lợi và do đó khó áp dụng chính xác theo cách an toàn; do đó nó không tốt cho noobs. Nhiều nhà phát triển không hiểu SQL injection và API mysql đủ mỏng để khiến bạn khó ngăn chặn nó, ngay cả khi bạn biết về nó. Nó chứa đầy trạng thái toàn cục (ví dụ như truyền kết nối ngầm), điều này giúp bạn dễ dàng viết mã khó bảo trì. Vì nó đã cũ nên có thể khó duy trì ở cấp lõi PHP một cách bất hợp lý.

Phần mở rộng mysqli mới hơn rất nhiều và khắc phục được tất cả các vấn đề trên. PDO cũng khá mới và cũng khắc phục được tất cả những vấn đề đó, cùng với nhiều hơn nữa.

Do những lý do này * tiện ích mở rộng mysql sẽ bị xóa trong tương lai. Nó đã làm công việc của nó trong thời kỳ hoàng kim của nó, khá tệ, nhưng nó đã làm được. Thời gian đã trôi qua, các phương pháp hay nhất đã phát triển, các ứng dụng ngày càng phức tạp hơn và yêu cầu một API hiện đại hơn. mysql đang được nghỉ hưu, hãy sống với nó.

Với tất cả những điều này, không có lý do gì để tiếp tục sử dụng nó ngoại trừ quán tính.

* Đây là những lý do tóm tắt thông thường của tôi; để biết toàn bộ câu chuyện chính thức, hãy xem tại đây: https://wiki.php.net/rfc/mysql_deprecation

Trích dẫn lựa chọn từ tài liệu đó như sau:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tính năng tự động tăng của MySQL lại tăng trên các lần chèn không thành công?

  2. Cập nhật cơ sở dữ liệu với nhiều trạng thái SQL

  3. MySQL - Làm cho một trường hiện có trở thành duy nhất

  4. dòng lệnh mysql trả về thời gian thực hiện?

  5. tại sao điều này không lấy dữ liệu từ 7 ngày trở lại?