PHP OO: Conexión a la Base de Datos con la extensión PDO

Otra nueva extensión añadida desde PHP 5.1 para administrar bases de datos es PDO, te explico la forma de conectarnos a una base de datos con ella!
Compartir:

Otra nueva extensión añadida desde PHP 5.1 para administrar bases de datos es PDO (aunque PDO estaba disponible con PHP 5.0 como extensión PECL). Esta viene con un conjunto de controladores para trabajar con diferentes motores de base de datos. PDO significa PHP Data Objects y está desarrollado para proporcionar una interfaz ligera para diferentes motores de base de datos.
Una de las características más importantes de PDO es que funciona como una capa de acceso a datos para que se pueda utilizar los mismos nombres de función para todos los motores de base de datos.
Puede conectarse a diferentes bases de datos utilizando las cadenas DSN (nombre de origen de datos).
En el ejemplo siguiente nos conectaremos a una base de datos MySQL y recuperaremos algunos datos, que hemos creado en nuestra base de datos "test":
Para crear la Tabla llamada Usuarios, procedemos a realizar la siguiente consulta:


CREATE TABLE `usuarios` (
  `id` int(11) NOT NULL,
  `name` varchar(300) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


INSERT INTO `usuarios` (`id`, `name`) VALUES
(1, 'juancito'),
(2, 'miguelito');


ALTER TABLE `usuarios`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `usuarios`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;



  • Como podemos notar en esta consulta hemos agregado 2 registros, 'juancito' y 'miguelito' 


Código PHP Completo (Conexión PDO a una base de datos MySQL)

    <?php
        $dsn = 'mysql:dbname=test;host=localhost;';
        $usuario = 'root';
        $contrasena = '****';
        
        try {
            $pdo = new PDO($dsn, $usuario, $contrasena);
        }
        catch (PDOException $e) 
        {
            echo 'conexión Fallida: ' . $e->getMessage();
        }
        $result = $pdo->query("select * from usuarios");
        foreach ($result as $row)
        echo $row['name'];
    ?>
Eso es realmente fácil, ¿verdad?.
Simplemente se conecta al servidor MySQL con el DSN (aquí se conecta a la base de datos MySQL:dbname="test") y luego ejecuta la consulta, para finalmente mostrar el resultado en pantalla.

Ahora Expliquemos el Código

  • Primero nos conectaremos a la base de datos MySQL con la Programación Orientada a Objetos:  
    • Para esto abrimos la puerta para codificar con PHP, ¿cómo?, pues con nuestro pedazo de código <?php ...
    • Creamos nuestras variables:
      • $dsn: En la cual estamos almacenando el nombre del origen de los datos, que para nuestro caso sería MySQL; luego el nombre de nuestra base de datos "dbname= test", a continuación el nombre de nuestro servidor "host= localhost".
        • $usuario: En esta variable vamos a almacenar el nombre del usuario con el cual ingresamos al gestor de base de datos MySQL!.
        • $password: En esta variable almacenamos la contraseña con la cual tenemos acceso al sistema de gestión de base de datos MySQL.
  • Continuando con el proceso usaremos el modelo de excepción que PHP 5 nos trae; este try catch es necesario conocerlos ya que sirven para el tratamiento de excepciones, osea el tratamiento de códigos que pueden no ser atendidos totalmente y podrían generar alguna excepción o error. Por ejemplo:
      •  try: consigue recuperar los errores que puedan ocurrir en el código que se ha insertado en su bloque.
      • catch ("atrapar"): a su vez hace el tratamiento de los errores que puedan suceder en el suyo.
  • Ahora es tiempo de Crear la conexión, para esto usaremos la instrucción para la creación de una class "new" ya que estamos usando la Programación Orientada a Objetos, no lo olvidemos!. 
  • Entonces trataremos a PDO como una clase que actuará sobre las variables anteriormente creadas ($dsn, $usuario, $contrasena).
    • Luego simplemente usamos el catch que realiza el proceso de atrapar diferentes clases de excepciones, osea iniciará un proceso de comprovación de errores. Este nos permitirá capturar y imprimir en pantalla cualquier error que pueda aparecer en el código digitado dentro de la varieble $e.
    • Luego pues en la variable $result almacenamos nuestra consulta a la base de datos test;
    • Hemos usado luego el constructor foreach que nos proporciona una manera fácil de iterar (reiterar, insistir) sobre arrays; no olvidemos que este foreach solo funciona sobre variables y lo usamos en este caso para recorrer sobre los arrays informados en $result. En cada recorrido, el valor del elemento actual se asigna a $row;
    • Para terminar nuestro proceso imprimimos en pantalla el array que contiene el campo name de nuestra tabla usuarios  que se encuentra en nuestra base de datos test.
Compartir:
Localización Gov. Celso Ramos, SC, Brasil

Conexión a la base de datos con PDO

PHP

PHP y MySQL

Déjenos su Comentário:

2 comments:

  1. Esta clarisimo!! muy buen post!! he visto infinidad de videos y blogs, es el primero que entiendo sin tener que preguntar mas que solamente.. podrias hacer un CRUD con PDO de ejemplo??

    ResponderBorrar
    Respuestas
    1. Muchas Gracias Eduardo, comentarios como el tuyo suben el ánimo para ser partícipe de más artículos! Si necesitas algún tema hazmelo saber, sería interezante ir colaborando com muchas cosas más!

      Borrar