martes, 25 de febrero de 2014

Hacer consultas con PDO PHP


Bienvenid@s a continuación vamos a ver como realizar consultas con la extensión PDO de PHP.

Lo primero es asignar la conexión al driver específico, por ejemplo, mysql ...


$usuario = 'root';
$password = 'password';
$host = 'localhost';
$db = 'ejemplo';
$conexion = new PDO("mysql:host=$host;dbname=$db", $usuario, $password);

A continuación, realizar una consulta SELECT asignando signos de interrogación para cada parámetro, por ejemplo ...


/*Consulta SQL*/
$sql = "SELECT * FROM tabla WHERE id=? AND nombre=?";
/*Datos recibidos*/
$id = 1; 
$nombre = 'Fernando';
/*Preparar la consulta*/
$consulta = $conexion->prepare($sql);
/*Vincular el primer parámetro que corresponde al primer signo de interrogación*/
$consulta->bindParam(1, $id, PDO::PARAM_INT);
/*Vincular el segundo parámetro que corresponde al segundo signo de interrogación*/
$consulta->bindParam(2, $nombre, PDO::PARAM_STR);
/*Ejecutar la consulta*/
$consulta->execute();
/*Obtener el total de filas de la consulta*/
$total = $consulta->rowCount();
/*Comprobar si no hay ningún resultado*/
if($total == 0)
{
echo "No hay resultados que mostrar";
}
else //Entonces si mostrar la/s fila/s
{
while($fila = $consulta->fetch())
{
echo '<p>' . $fila['id'] . ':' . $fila['nombre'] . '</p>';
}
}

A continuación, realizar una consulta UPDATE SET asignando claves para cada parámetro, por ejemplo ...


$sql = "UPDATE tabla SET campo1=:campo1 AND campo2=:campo2";
/* Datos recibidos */
$campo1 = 1;
$campo2 = 'string';
/* Preparar la consulta */
$consulta = $conexion->prepare($sql);
/*Vincular los parámetros por su clave*/
$consulta->bindParam(':campo1', $campo1, PDO::PARAM_INT);
$consulta->bindParam(':campo2', $campo2, PDO::PARAM_STR);
/* Comprobar si ha habido algún error */
if(!$consulta)
{
echo "Ha ocurrido un error";
}
/* de lo contrario actualizar el registro */
else 
{ 
$consulta->execute();
echo "Registro actualizado correctamente";
}



No hay comentarios: