Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que as funções mysql_ do PHP estão obsoletas?


A extensão mysql é antiga e existe desde o PHP 2.0, lançado há 15 anos (!!); que é uma fera decididamente diferente do PHP moderno que tenta se livrar das más práticas de seu passado. A extensão mysql é um conector muito bruto e de baixo nível para o MySQL que não possui muitos recursos de conveniência e, portanto, é difícil de aplicar corretamente de forma segura; é, portanto, ruim para noobs. Muitos desenvolvedores não entendem a injeção de SQL e a API do mysql é frágil o suficiente para dificultar sua prevenção, mesmo que você esteja ciente disso. Está cheio de estado global (passagem de conexão implícita, por exemplo), o que facilita a escrita de código difícil de manter. Como é antigo, pode ser excessivamente difícil mantê-lo no nível básico do PHP.

A extensão mysqli é muito mais recente e corrige todos os problemas acima. O PDO também é bastante novo e corrige todos esses problemas, além de mais.

Devido a estas razões* a extensão mysql será removida em algum momento no futuro. Ele fez seu trabalho em seu apogeu, bastante mal, mas o fez. O tempo passou, as melhores práticas evoluíram, os aplicativos ficaram mais complexos e exigem uma API mais moderna. mysql está sendo aposentado, viva com ele.

Dado tudo isso, não há nenhuma razão para continuar a usá-lo, exceto por inércia.

* Estas são minhas razões resumidas de bom senso; para toda a história oficial, veja aqui:https://wiki.php.net/rfc/mysql_deprecation

As citações de escolha desse documento seguem: