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

¿Por qué no debería usar funciones mysql_* en PHP?

La extensión MySQL:

  • No está en desarrollo activo
  • Está oficialmente obsoleto a partir de PHP 5.5 (lanzado en junio de 2013).
  • Ha sido eliminado completamente a partir de PHP 7.0 (lanzado en diciembre de 2015)
    • Esto significa que a partir del 31 de diciembre de 2018 no existe en ninguna versión compatible de PHP. Si está utilizando una versión de PHP que lo admite, está utilizando una versión que no soluciona los problemas de seguridad.
  • Carece de una interfaz OO
  • No admite:
    • Consultas asincrónicas sin bloqueo
    • Declaraciones preparadas o consultas parametrizadas
    • Procedimientos almacenados
    • Declaraciones múltiples
    • Transacciones
    • El método de autenticación de contraseña "nueva" (activado de forma predeterminada en MySQL 5.6; requerido en 5.7)
    • Cualquiera de las nuevas funciones en MySQL 5.1 o posterior

Dado que está en desuso, su uso hace que su código sea menos seguro para el futuro.

La falta de soporte para declaraciones preparadas es particularmente importante ya que proporcionan un método más claro y menos propenso a errores para escapar y citar datos externos que escapar manualmente con una llamada de función separada.

Consulte la comparación de extensiones SQL .