Crear una conexión a MySQL con PDO

Anteriormente hice un video donde muestro como realizar una conexión a base de datos MySQL con PDO (http://behstant.com/blog/?p=167), pero para aquellos que les gusta las cosas simples hago este post para mostrar cómo realizar un conexión de una forma simple.

El significado de PDO es PHP Data Objects, lo que significa que trabajamos con Programación Orientada a Objetos (POO). Para poder trabajar con PDO necesitamos crear una instancia de la clase PDO. Algunos métodos son: prepare, execute, exec, beginTransaction, bindParam, commit. Estos métodos los voy ir tratando durante el resto de posts en el blog.

Lo primero que tenemos que hacer antes de crear nuestra conexión es verificar que tenemos PDO disponible para trabajar, entonces con el siguiente código verificamos que este habilitado. Copia y guarda el archivo con un nombre de phpinfo.php y lo ejecutas en tu servidor:

Esta es la información que te debe de salir:

Si todo esta correcto entonces ahora si procedemos a crear nuestra conexión con la clase PDO usando el siguiente código:


Cuando se utiliza PDO o algún otro código de dispare una excepción (el termino en ingles es throw) se necesita agrupar el código en un bloque try-catch, si todo marcha bien nuestro código se ejecuta sin error, en dado caso de que salga algo mal agarramos el error en el catch.

El siguiente código merece la pena comentarlo un poco más:

Debemos de tener cuidado de que echo $ex->getMessage(); no esté siempre visible, ya que si se presenta un error nuestro usuario de conexión o nuestra contraseña puede ser mostrada, el uso de getMessage() es para que nosotros podamos depurar nuestro código, entonces lo que debemos de hacer es mostrar otro mensaje, quedando nuestro código para ser usado de la siguiente manera :

Ya con este código tenemos un objeto PDO con el cual podemos empezar a interactuar con la base de datos, pero estaré haciendo uso de nuestro objeto instanciado $conn en las siguientes posts.

El código fuente de este ejemplo lo podemos observar y descargar de aquí: http://paste.behstant.com/index.php?show=47