Diferencias entre mysql, mysqli y PDO en PHP

Existen más, pero hay las tres formas más populares de conectarse desde PHP a una base de datos de MySQL: mysql, mysqli y PDO (PHP Data Objects). En cada proyecto se puede usar una manera u otra, pero para saber cuál es la más recomendada, hay que conocer en que se distinguen:

  • mysql es la API histórica que ofrece PHP desde hay varias versiones.
  • mysqli es la nueva versión de mysql, orientada a objetos.
  • PDO es una capa de abstracción de base de datos, con soporte para MySQL y otros sistemas gestores de bases de datos. Proporciona comandos preparados y otra serie de operaciones adaptadas al driver necesario.

Si no hubiera ningún motivo que hiciera variar la elección, se recomienda usar PDO; y si no es posible, entonces mysqli. Como último recurso, usar mysql. Visto en stackowerflow

ACTUALIZACIÓN (2010/08/01): En el foro "Foros del web", se abrío un hilo hace meses, hablando de los pros y contras sobre PDO o MySQLi. Desde ahí, se puede acceder a un artículo muy interesante del blog TuFunción: "PHP y MySql: una estrecha relación". Se muestran los resultados de unos test. para comprobar el rendimiento de los diferentes drivers. El driver MySqli demuestra un rendimiento de casi el doble respecto a PDO.

Las conclusiones del artículo son:

  • Rendimiento: MySqli o MySql
  • Características: MySqli
  • Facilidad de uso: PDO

11 comentarios en “Diferencias entre mysql, mysqli y PDO en PHP

  1. No entiendo la diferencia de conectar a mysql normal con php OO y ahora con usar PDO es tan importante usar PDO

  2. Haber rápidamente. Mysqli es más eficiente y rápido que mysql además mysql ya no tiene soporte ofocial. Lo importante de PDO es que es independiente al motor de base de datos que estes usando. Esto es útil cuando quieras hacer una migración. Es decir puedes empesar un sistema con mysql pero luego de un tiempo la cantidad de información es demasiodo grande y decides migrar a sqlserver o postgres entonces solo tienes que cambiar el archivo de conexión y no todas las funciones

  3. Creo que MySQLi es la nueva Generación.

    Biene orientado a Objetos, aunque no es mi fuerte, pero creo que esta tiene muchas funciones que con MySQL no trabaja bien.

  4. entonces? cual es recomendable utilizar? recién estoy desarrollando un framework y el tipo de conexión que utilizo es full PDO; entonces si en referencia de que es más flexible a la hora de migrar datos; pues entonces cual utilizar? si mysqli por si mil veces rapidez frente a pdo (salvo la configuración de la mysqlnd), entonces cuál utilizar? no dejan nada claro.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>