Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо функциите mysql_ на PHP са отхвърлени?

Разширението mysql е древно и съществува от PHP 2.0, издаден преди 15 години (!!); който е категорично различен звяр от съвременния PHP, който се опитва да изхвърли лошите практики от миналото си. Разширението mysql е много необработен конектор на ниско ниво към MySQL, който няма много функции за удобство и поради това е труден за правилно приложение по сигурен начин; следователно е лошо за нубите. Много разработчици не разбират SQL инжектирането и mysql API е достатъчно крехък, за да затрудни предотвратяването му, дори ако сте наясно с това. Той е пълен с глобално състояние (например неявно преминаване на връзка), което улеснява писането на код, който е труден за поддържане. Тъй като е остарял, може да е неоправдано трудно да се поддържа на ниво ядро ​​на PHP.

Разширението mysqli е много по-ново и коригира всички горепосочени проблеми. PDO също е доста нов и коригира всички тези проблеми, плюс още.

Поради тези причини* разширението mysql ще бъде премахнато някъде в бъдеще. Свърши работата си в разцвета си, доста зле, но го свърши. Времето напредва, най-добрите практики се развиха, приложенията станаха по-сложни и изискват по-модерен API. mysql се пенсионира, живейте с него.

Предвид всичко това, няма причина за да продължите да го използвате освен по инерция.

* Това са моите обобщени причини за здравия разум; за цялата официална история вижте тук:https://wiki.php.net/rfc/mysql_deprecation

Следват цитати за избор от този документ:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP PDO срещу нормален mysql_connect

  2. Изберете стойности, които отговарят на различни условия на различни редове?

  3. Свържете Metabase с MySQL за изследване на данни

  4. Как MySQL определя кога да показва изричен набор от знаци и стойности за съпоставяне?

  5. Как да инсталирате MariaDB база данни в Debian 10