¿Por que debo usar funciones mysqli_* en lugar de mysql_*?

0
0

Es verdad que algunos seguimos dando mantenimiento a aplicaciones algo antiguas  que usan las librerías de acceso a MySQL inicialmente concebidas en PHP, pero hay razones muy fuertes para dejar de usar las funciones para conectarse y realizar operaciones con MySQL desde PHP que tienen el prefijo mysql_* (ejemplo mysql_query(), mysql_connect() )

Aquí tenemos algunas:

  • Ya no hay soporte ni tampoco actualizaciones.
  • Ha sido oficialmente declarado como deprecated (obsoleto) desde  PHP 5.5
  • Fue removido totalmente desde PHP 7.0
  • No cuenta con soporte para orientación a objetos
  • No soporta:
    • Consultas asíncronas.
    • Consultas parametrizadas.
    • Procedimientos almacenados.
    • Múltiples consultas y múltiples resultados.
    • Transacciones.
    • Nuevos métodos de autenticación ( MySQL 5.6;  5.7)

Desde que es declarado deprecated el código que escribas no tendrá mucho futuro, también el hecho de no tener consultas parametrizadas hace que tengas que construir tus SQL manualmente haciendo tu código propenso a ataques de SQL Injection si no lo haces.

En lo posible traten de migrar completamente a mysqli o usar PDO (recomendado).

  • You must to post comments
An error occurred while importing content. Error: Class HTML_QuickForm_text does not have a constructor, so you cannot pass any constructor arguments