Hay (más de) tres formas populares de usar MySQL desde PHP. Esto describe algunas características / diferencias PHP: Elegir una API :
- ( DESAPROBADO ) Las funciones mysql son de procedimiento y utilizan el escape manual.
- MySQLi es un reemplazo para las funciones mysql, con versiones orientadas a objetos y de procedimiento. Tiene soporte para declaraciones preparadas.
- PDO (PHP Data Objects) es una capa de abstracción de base de datos general con soporte para MySQL entre muchas otras bases de datos. Proporciona declaraciones preparadas y una flexibilidad significativa en la forma en que se devuelven los datos.
Recomendaría usar PDO con declaraciones preparadas. Es una API bien diseñada y le permitirá moverse más fácilmente a otra base de datos (incluida cualquiera que admita ODBC ) si es necesario.
Esas son diferentes API para acceder a un servidor MySQL
Por lo tanto, depende del tipo de código que desee producir. Si prefiere capas orientadas a objetos o funciones simples ...
Mi consejo seria
También creo que la API mysql probablemente se eliminará en futuras versiones de
PHP
.fuente
mysqli es la versión mejorada de mysql.
La extensión PDO define una interfaz ligera y consistente para acceder a bases de datos en PHP. Cada controlador de base de datos que implementa la interfaz PDO puede exponer características específicas de la base de datos como funciones de extensión regulares.
fuente
Específicamente, la extensión MySQLi proporciona los siguientes beneficios extremadamente útiles sobre la antigua extensión MySQL.
Interfaz OOP (además del procedimiento) Estado de cuenta preparado Transacción de soporte + Procedimiento almacenado Soporte Sintaxis de Nicer Mejoras de velocidad Depuración mejorada
Extensión PDO
La extensión PHP Data Objects es una capa de abstracción de la base de datos. Específicamente, esta no es una interfaz MySQL, ya que proporciona controladores para muchos motores de bases de datos (por supuesto, incluyendo MYSQL).
PDO tiene como objetivo proporcionar una API consistente que significa que cuando se cambia un motor de base de datos, el código cambia para reflejar que esto debería ser mínimo. Cuando use PDO, su código normalmente "simplemente funcionará" en muchos motores de base de datos, simplemente cambiando el controlador que está usando.
Además de ser compatible con bases de datos cruzadas, PDO también admite declaraciones preparadas, procedimientos almacenados y más, mientras usa el controlador MySQL.
fuente