sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué las funciones mysql_ de PHP están en desuso?

La extensión mysql es antigua y existe desde PHP 2.0, lanzado hace 15 años (!!); que es una bestia decididamente diferente al PHP moderno que intenta deshacerse de las malas prácticas de su pasado. La extensión mysql es un conector muy simple y de bajo nivel para MySQL que carece de muchas características convenientes y, por lo tanto, es difícil de aplicar correctamente de forma segura; por lo tanto, es malo para los novatos. Muchos desarrolladores no entienden la inyección de SQL y la API de mysql es lo suficientemente frágil como para que sea difícil evitarla, incluso si lo sabe. Está lleno de estado global (paso de conexión implícita, por ejemplo), lo que facilita la escritura de código que es difícil de mantener. Dado que es antiguo, puede ser irrazonablemente difícil de mantener en el nivel central de PHP.

La extensión mysqli es mucho más nueva y soluciona todos los problemas anteriores. PDO también es bastante nuevo y soluciona todos esos problemas, y más.

Debido a estas razones*, la extensión mysql se eliminará en el futuro. Hizo su trabajo en su apogeo, bastante mal, pero lo hizo. Ha pasado el tiempo, las mejores prácticas han evolucionado, las aplicaciones se han vuelto más complejas y requieren una API más moderna. mysql se está retirando, viva con él.

Dado todo esto, no hay ninguna razón para seguir usándolo salvo por inercia.

* Estas son mis razones resumidas de sentido común; para conocer la historia oficial completa, consulte aquí:https://wiki.php.net/rfc/mysql_deprecation

A continuación se citan citas de elección de ese documento: