Tutoriales de Informática y Dispositivos Móviles
Tutoriales de Informática y Dispositivos Móviles
Consultas base de datos con PDO

Consultas base de datos con PDO

Consultas base de datos con PDO

En este tutorial aprenderemos cómo crear consultas a bases de datos utilizando PDO y acceder a los valores devueltos.

Después de realizar la conexión con la base de datos, ver  Conexión a base de datos MYSQL con PDO , si todo ha ido bien ya podemos realizar consultas.

Métodos

Utilizaremos dos métodos:

  • $objetoPdo->exec($consulta)

Para realizar consultas sin resultado: Insert, update, delete, drop, truncate y create. Consultas que no devuelven ningún valor.

  • $objetoPdo->query($consulta)

Para consultas que devuelven valores: Consultas Select

Consultas sin resultado

//Consulta de inserción
$consulta = "INSERT INTO usuarios (nombre,dni) VALUES('Juan','43434343L');
//Ejecutamos la consulta
$objetoPdo->exec($consulta);

A diferencia de cuando utilizamos MYSQLi, que teníamos que usar los métodos affected_rows para saber las filas afectadas, en PDO el mismo método exec devuelve este valor

//Consulta de Delete
$consulta = "DELETE FROM usuarios WHERE nombre = 'Juan'";
//Ejecutamos la consulta
$afectados = $objetoPdo->exec($consulta);
//En $afectados guarda el número de filas afectadas
echo "Se han borrado " . $afectados . " registros"

Consultas con resultado

Para realizar consultas que devuelven algo utilizamos el método query

//Preparamos la consulta
$consulta = "SELECT nombre, dni FROM usuarios";
//Ejecutamos la consulta y guardamos el resultado
$resultado = $objetoPdo->query($consulta);
//Ahora resultado es como una tabla virtual con el resultado de la consulta

Para acceder a los valores devueltos por la consulta select utilizamos el método fetch

$resultado->fetch()

El método fetch genera y devuelve un array con claves numéricas y asociativas.

Podemos pasarle parámetros para cambiar este comportamiento.

  • PDO::FETCH_ASSOC (Devuelve un array asociativo)
  • PDO::FETCH_NUM (Devuelve un array con claves numéricas)
  • PDO::FETCH_BOTH (Comportamiento por defecto, igual que si no ponemos nada)

Veamos cómo recorrer los registros utilizando el método fetch por defecto

//El bucle While recorre una fila en cada vuelta y podemos acceder a los valores de cada fila
//El array asociativo $registro contiene los valores de la fila actual
while($registro = $resultado->fetch()) {
    echo "NOMBRE: " . $registro['nombre'] . ", DNI: " . $registro['dni'] . "<br>";
}

Para gestionar los errores o excepciones puedes ver Gestión de errores y excepciones PDO

Más tutoriales de PHP

Si te ha gustado no olvides compartir en redes sociales.

[addthis tool=»addthis_inline_share_toolbox_6jt6″]

Espero que te haya servido. Cualquier duda deja un comentario. Un saludo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Translate »
A %d blogueros les gusta esto: