Autor Tema: Elegir entre PDO y Mysqli para programación en PHP  (Leído 537 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado graphixx

  • Whitehat
  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 1645
  • Karma: +1984/-0
  • Whitehat
    • Ver Perfil
    • Sistemas y Controles


Como muchos ya sabréis, yo me enteré a la fuerza, PHP ha decidido marcar como obsoletas todas las funciones nativas de mysql, es decir, que si utilizas mysql_query o mysql_select_db o cualquier cosa que empiece por mysql_, entonces, estás obsoleto como yo.

Pues bien, PHP, nos propone dos opciones para reemplazar nuestros códigos que son PDO y Mysqli o Mysql Improved (un mysql mejorado). Cabe destacar, que cualquiera de estos dos métodos requiere de PHP 5.0 en el caso de Mysqli y PHP 5.1 en el caso de PDO.

Si bien es cierto que debemos cambiar, PHP también aclara que las funciones nativas MYSQL_ serán mantenidas por mucho tiempo antes de que el navegador te suelte el viejo y querido "DEPRECATED", por lo que no debes correr a modernizar tus scripts sino que puedes resistir un tiempo más. Es más, me atrevería a decir que se cargarían el 80% de las webs normalitas corporativas si ponen obsoletas estas funciones y por eso no lo harán, al menos en breve.

La prueba de que las funciones de script mysql_ están obsoletas, la tienes aquí. Ahora si tienes que elegir entre una u otra, yo no me la juego. He hecho pruebas con ambas, ambas parecen ser muy similares, potentes y con pocas cosas distintas a nivel usuario, tampoco entré a fondo a sacarle rendimiento a una u otra ni me puse a construir clases super complejas.

API remendada

Se recomienda usar las extensiones mysqli o PDO. No se recomienda usar la extensión mysql antigua para nuevos desarrollos. Se proporciona una matriz detallada de comparación de características más abajo. El rendimiento global de las tres extensiones se considera el mismo. Aunque el rendimiento de la extensión aporta solamenteabout una fracción del total del tiempo de ejecución de una consulta web de PHP. A menudo el impacto es tan bajo como 0.1%.

Comparación de características



Qué es PDO

La extensión Objetos de Datos de PHP (PDO) define un interfaz ligera, para poder 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 base de datos, como funciones de extensión regular. Tenga en cuenta que no se pueden realizar funciones de base de datos utilizando la extensión PDO por sí misma; se debe utilizar un controlador PDO específico de las bases de datos para tener acceso a un servidor de base de datos.

PDO proporciona una capa de abstracción de acceso a datos, lo que significa que, independientemente de la base de datos que se esté utilizando, se usan las mismas funciones para realizar consultas y obtener datos.

Qué es mysqli

La extensión mysqli (mysql improved) permite acceder a la funcionalidad proporcionada por MySQL 4.1 y posterior. Se puede encontrar más información sobre el servidor de base de datos MySQL en http://www.mysql.com/

La gran diferencia

La gran diferencia, que merece la pensa mencionar, que existe entre PDO y mysqli es que la primera permite trabajar con todo tipo de bases de datos de la misma forma, sólo debes definir cuál vas a usar en la línea donde creas las conexión y, la segunda, su nombre lo indica, es el hermano mayor de la vieja mysql.

Recordemos: cuando hablo de mysql, me refiero a las funciones nativas en PHP, no a tu motor de base de datos, que entiendo que siempre será mysql v4.xx en adelante (anda por el 5 y algo si no me equivoco).

Ayúdame a elegir, venga...

Yo no te diré cuál debes usar, debes analizar los pro y los contras de cada una. Veo más lógico que si siempre trabajas con bases de datos Mysql, utilices mysqli, pero si utilizas PDO tu proyecto será mucho más escalable hacia otras bases de datos superiores o distintas sin tener que modificar tu script.

Fuente:
Código: [Seleccionar]
https://www.macadia.es/blog/elegir-entre-pdo-y-mysqli-para-programacion-en-php/163
Para tus servicios y comprar productos de Sistemas piensa en contratarnos, usa los botones de WhatsApp ubicados en nuestra pagina principal: www.sistemasycontroles.net

Información Personal sobre Graphixx: