¿Qué estilo de interacción PHP MySQL debería elegir?

Preguntaste 2 cosas:

1. ¿Por qué hay tantos estilos diferentes compitiendo?

Es bastante simple: las necesidades cambiantes de los desarrolladores, recuerden que PHP y MySQL se utilizan en millones e incluso miles de millones de instalaciones en todo el mundo. Con el tiempo, a medida que las personas progresaban utilizando PHP y MySQL en proyectos cada vez más complejos y en constante crecimiento, notaron que muchos de sus problemas no se abordaban con el buen y antiguo mysql_query (), las personas que venían de otros idiomas sintieron (correctamente) que mysql_query era inseguro y propenso a errores de desarrolladores perezosos. A partir de los comentarios que recibió Zend, crearon mysqli como una forma mejorada de usar conexiones MySQL, la cuestión era que a algunas personas les encanta usar la programación de estilo de procedimiento, mientras que a otras personas les encanta OO, eso depende de sus antecedentes.

Por otro lado, otras personas enfrentaron los mismos problemas simultáneamente y comenzaron a crear sus propias soluciones, comenzando con frameworks PHP y ORM, es decir “Manejadores” que le permiten trabajar con su base de datos sin tener que escribir consultas usted mismo, eso es para ayudarlo a trabajar con diferentes RDBMS sin tener que aprender cada motor de base de datos para resolver problemas. También hay manejadores como ADO, PDO y muchos otros que manejan diferentes problemas que las personas tuvieron con el tiempo.

Entonces, para la pregunta número 2:

¿Cuál debería aprender? Aprendería mysqli para empezar, resolvería problemas y luego pasaría a ORM en un marco como LARAVEL.


¡La mejor de las suertes!


Hay muchas opciones porque el idioma ha crecido con los años. La gente ha construido ORM como propulsión y doctrina. PHP implementó estilos de codificación orientados a objetos para dar uso a las funciones PDO y Mysqli_ *. Muchos marcos vienen con sus propios ORM como otras opciones. Laravel tiene Eloquent, por ejemplo.

Como mínimo, si está utilizando estilos de codificación que no son OO, aún necesita usar PDO o las funciones Mysqli. Las funciones mysql de estilo antiguo están en desuso en las versiones actuales de PHP y se eliminarán pronto.

Prefiero usar PDO siempre que puedo. Razones:

  • Solo una interfaz orientada a objetos, por lo que no hay confusión con el uso de procedimientos.
  • Admite múltiples bases de datos con una API, no solo MySQL.
  • Más fácil de usar parámetros de consulta que en Mysqli. Más fácil significa que más desarrolladores pueden escribir un mejor código para evitar inyecciones SQL.

Bill Karwin le proporcionó la mejor respuesta. Prefiere pdo ya que está orientado a objetos y se puede aplicar en cualquiera de los proveedores de bases de datos. Como Oracle, MySQL, etc.

Si está utilizando PHP sin procesar, y recién comienza, le recomiendo que vea los videos de YouTube de Alex Garret @ Codecourse.

Quiero decir, para ser honesto (y debería ser crucificado por esto), solo realmente usé mysqli, “para hacer el trabajo”.

http://code.tutsplus.com/tutoria
Obviamente puedes usar ORM de terceros de paquetes de compositores … Doctrine y Eloquent son muy recomendables.

Eloquent es parte del marco laravel, pero se puede usar fuera de esto, como una capa de conexión de base de datos por derecho propio. Una vez más, codecourse tiene videos de YouTube de ‘usar elocuencia fuera de laravel’

El más seguro y recomendado es PDO seguido de mysqli.