Como conectarse a una base de datos con MySQLi y PDO

Como todos sabemos (o capaz que recién te enteras) la API MySQL ha sido declarada obsoleta (deprecated) por la gente de PHP, en cambio tendremos que utilizar MySQLi (MySQL mejorada o en su nombre en ingles MySQL improved) o la alternativa que es PDO (Objeto de datos en PHP). En este artículo veremos sus diferencias y además aprenderemos a como conectarnos a nuestra base de datos.

MySQLi (MySQL mejorado)

La API MySQLi es una versión mejorada de su antecesora MySQL en la que han mejorado la seguridad y además tendremos dos formas para conectarnos a la base de datos: Programación por procedimientos y OOP (Programación orientada a objetos). Cabe decir que MySQLi solamente soporta la conexión a base de datos del tipo MySQL.

POR PROCEDIMIENTOS

Básicamente en programación por procedimientos nos encontraremos con las viejas funciones de mysql_*** nada más que con algunas diferencias.

Como pueden ver, es muy parecido a su antecesor, nada más que en una misma función ya podremos seleccionar la base de datos que vamos a utilizar sin la necesidad de recurrir a otra como pasaba con mysql_connect().

POR OOP

En términos de velocidad no hay mucha diferencia entre una y otro. En mi caso personalmente uso OOP porque es el método que aprendí a usar primero y además quizás hace más fácil la integración con las clases.

PDO (Objeto de datos en PHP)

PDO es una API que está disponible a partir de la versión 5.1 de PHP, aunque también se puede utilizar en la versión 5.0 si disponemos de la extensión PECL. Esta magnífica API soporta “parámetros con nombre” — Named parameters — que que nos facilitará la tarea a la hora de usar “declaraciones preparadas ” – prepared statement –, ya que podemos seguir con facilidad los parámetros sin estar contando las posiciones.

Otra gran característica que tiene PDO es que soporta 12 tipos de base de datos, lo que hace increíble utilizar esta API: CUBRID, MS SQL Server, Firebird/Interbase, IBM, Informix, MySQL, Oracle, OBDC, DB2, PostgreSQL, SQLite y 4D.

Si estamos acostumbrados a usar mysqli o mysql veremos algunas diferencias a la hora de conectarse a la base de datos. La más importante es esta parte "mysql:host=localhost;dbname=base_de_datos" ya que en esta parte es donde definiremos a que tipo de base de datos nos estamos conectando. Si tuviéramos que conectarnos a PostgreSQL deberíamos hacerlo de esta manera:

Modificado por última vez el día 26 de diciembre de 2012 a las 15:22
Posted in PHP
Scroll to top