Usar PDO en PHP | Parte 1: Conectar con la base de datos

Hola, segunda parte del tutorial en Codigoprogramacion en el que enseñaré cómo  hay que conectarse a la base de datos. Para ello, lo primero será crear la base de datos MySQL en el servidor, yo he creado una base de datos llamada “Tutorial PDO” y voy a poner una sola tabla que se llame “Usuarios” (por ejemplo, puedes poner otras), voy a ponerle dos columnas, un “Id” de tipo Int, 10 de longitud, clave primaria y auto-increment; la segunda columna va a llamarse “Nombre”, un VARCHAR de longitud 10:
Base de datosHecho esto procederemos a insertar los datos, yo voy a poner dos Nombres: Javier y Juan, el Id se pone solo.

Ahora pasamos a lo que de verdad es objeto de este tutorial: la programación en PHP. Tengo que admitir que la primera vez que vi el Api de PDO me pareció complejísima, pero realmente no es tan difícil, así que si en un principio no entiendes por qué pongo algunas cosas, no dudes en preguntar.

Bien, vamos a ver cómo se hace una conexión a una base de datos con MySQL normal (el de toda la vida):

<?php
mysql_connect('localhost', 'username', 'password') or die ("Fallo.");
?>

Donde localhost, username y password serían el servidor, el nombre de usuario del servidor, y la contraseña del mismo, respectivamente. Esto está muy bien y es muy sencillo de recordar, pero con PDO se hace de otra manera, que quizá parezca algo más complicado al principio pero al fin y al cabo igual de intuitiva:

<?php
$conn = new PDO('mysql:host=localhost;dbname=mibasededatos', $usuario, $password);
?>

Aunque parezca raro realmente es muy sencillo: creamos con el “new” una instancia de clase PDO (lo que nos permitirá usar varias a la vez), definimos el tipo de base de datos con “mysql:”, el servidor “localhost” (en este caso), el nombre de la base de datos “dbname=mibasededatos”, y después usando variables (se puede hacer sin), el usuario y la contraseña del servidor de bases de datos.

Como puede haber errores y tenemos que controlarlos mediante el uso de try…catch(…){} de la siguiente manera:

<?php
try{
	$conn = new PDO('mysql:host=localhost;dbname=mibasededatos', $usuario, $password);
	$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
	echo "ERROR: " . $e->getMessage();
}
?>

De esta manera se conecta a la base de datos y en caso de que no pueda saca el error con un echo. Se puede ver que el try..catch hace la función del or die de la sintaxis habitual de PHP y MySQL.

Así se acaba esta primera parte del tutorial de PDO, ¡espero que os haya gustado y no olvidéis comentar!

¡Un saludo!

Acerca del autor:

Twitter del autor:

9 comments

  1. Hola!

    Muy interesante tu tema, pero tengo una consulta, como me conectaria PDO con un servidor remoto a SQL Server….

  2. Miki says:

    Me ha venido genial para introducirme en PDO. Muy buenos tutos.

  3. gg says:

    no esta validado este form

  4. Eduardo says:

    Hola estuvo muy interesante pero mi pregunta es que si esta clase de programacion en php es la que me sirve para programar con objetive c

  5. Eduardo says:

    Hola, muy interesante, me preguntaba si esta es la clase de programacion en php que me sirve para implementar con objetive c

  6. lilia says:

    Hola, interesante tu tutorial pero tengo una pregunta, ya teniendo la conexion como aseguramos que sea segura; es decir como hacer una conexion segura a una base de datos

  7. Jerico says:

    Gracias!.

  8. […] Todo esto dejando de lado aspectos de seguridad, ya que esto podría ser “hackeable”. En PDO se hace de una manera completamente distinta pero a la vez mucho más segura, haciendo uso de los “prepared statements”, con el fin de que nuestra web sea más difícil de acceder. Se hace de la siguiente manera (aprovechando el código de la parte 1): […]

Leave a Reply

Your email address will not be published. Required fields are marked *