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

Error extraño y molesto:llamada a la función no definida mysql_query()

PHP 7 se ha deshecho de mysql_query() ¡porque es problemático en una variedad de formas! La API no fomenta las buenas prácticas, la línea oficial es que no se mantiene y ¡¿NO HAY DECLARACIONES PREPARADAS?! Esencialmente, es el mayor problema en PHP que fomenta las malas prácticas que conducen a la inyección de sql, y esa es una situación muy mala.

Sin embargo, trabajo con bases de código heredadas, por lo que tengo que lidiar con la misma situación que usted en algunos casos. Si tiene una base de código pequeña, simplemente actualice su método de conexión db. Si tiene una gran base de código, esto es lo que le recomiendo:

  • Retroceda su versión de php para este código base a php 5.6, será compatible durante un poco más de 2016.
  • Tómese su tiempo para actualizar a PDO (puede crear un contenedor alrededor de PDO para que sea menos detallado y aún permita consultas preparadas).
  • Ignorar mysqli. Si le toma 5 minutos actualizar desde mysql_*, probablemente lo esté haciendo mal y quede abierto a la inyección de sql. Simplemente vaya a PDO y comience a usar consultas preparadas para que pueda dormir por la noche.
  • Si aún desea usar php 7 en proyectos más modernos, active una instancia de contenedor con las bases de código heredadas de php 5.6 más antiguas.