Consultar datos MySQL mediante PDO: Ejemplos
Consultar datos MySQL mediante PDO. En este artículo veremos cómo solicitar información de una base de datos MySQL usando PDO PHP a travez de la cláusula «SELECT
«. En el artículo anterior vimos como realizar la conexión desde PHP a MySQL.
Ahora que conocemos la forma básica y segura para realizar la conexión a una base de datos MySQL haciendo uso de distintas clausulas e instrucciones PHP PDO.
Consultar datos MySQL mediante PDO
La lectura de datos de la base de datos es un proceso en el cual podemos visualizar el contenido de una tabla: Sim embargo, también podemos usar la cláusula «WHERE
« para poder filtrar la información según un criterio especifico, además también podemos limitar con «LIMIT
«.
A continuación veremos una serie de puntos para poder armar nuestro código de consultas PDO.
1) Variable de la consulta:
Nos basaremos en una variable llamada $sql que contendrá la consulta SQL. Esta consulta, seleccionados todas las columnas porque está usando el asterisco (*), y de la tabla llamada «tbl_personal
«.
Por ejemplo:
$sql = "SELECT * FROM tbl_personal";
2) Preparar la consulta:
Esta instrucción prepara la consulta SQL que esta almacenada en la variable $sql
. Sin embargo, se usara la variable $query
.
$query = $dbh -> prepare($sql);
3) Ejecutar la consulta SQL:
Ejecuta una sentencia preparada y seria el tercer paso.
$query -> execute();
4) Asignar variable de resultado
Asigne los datos que extracción de la información de la base de datos (Paso 3) a una variable llamado $results
.
$results = $query -> fetchAll(PDO::FETCH_OBJ);
Recordemos que «fetchAll
«.- Devuelve un conjunto que contiene todas las filas del conjunto de resultados
Nota:
PDO::FETCH_OBJ.– El parámetro que devuelve los datos capturados como un objeto.
PDO::FETCH_ASSOC.- Si desea capturar los datos en forma de matriz.
5) Verificar existencia de resultados
Para poder controlar los resultados nos apoyaremos en la condicional «IF
«. Por lo tanto, de esta manera nos aseguramos que se pudo recuperar los datos de la base de datos y además, contando la cantidad de registros.
if($query -> rowCount() > 0){}
6) Mostrar resultados encontrados
En la condicional IF que enfoca la variable de resultados devuelva al menos un registro, podemos mostrar la información de los registros y para ello usaremos el bucle foreach.
if($query -> rowCount() > 0) { // Usaremos el ciclo para mostrar resultados foreach($results as $result) { echo "<tr>"; echo "<td>".$result -> nombres."</td> <td>".$result -> edad."</td> <td>".$result -> estado."</td> <td>".$result -> fregis."</td> </tr>"; } }
Consultar datos MySQL mediante PDO: Códigos completos
Mostramos el ejemplo completo.
a) Mostramos el código completo y final
Aquí, mostramos la consulta y los resultados de esa consulta serán visible en el navegador si usamos el ciclo FOREACH.
<?php $sql = "SELECT * FROM tbl_personal"; $query = $connect -> prepare($sql); $query -> execute(); $results = $query -> fetchAll(PDO::FETCH_OBJ); if($query -> rowCount() > 0) { foreach($results as $result) { echo "<tr> <td>".$result -> nombres."</td> <td>".$result -> edad."</td> <td>".$result -> estado."</td> <td>".$result -> fregis."</td> </tr>"; } } ?>
b) Base de datos
Para este ejemplo usaremos la tabla con nombre «tbl_personal
» que consta de 5 columnas. (id, nombres, edad, estado, fregis). Además, contendrá datos de ejemplo y podemos ejecutarlo en el gestor phpMyAdmin.
CREATE TABLE `tbl_personal` ( `id` int(11) NOT NULL, `nombres` varchar(50) NOT NULL, `edad` int(11) NOT NULL, `estado` varchar(100) DEFAULT NULL, `fregis` date DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `tbl_personal` (`id`, `nombres`, `edad`, `estado`, `fregis`) VALUES (1, 'Juan Carrillo', 34, 'Chile', '2019-08-20'), (2, 'Luis Fontis', 26, 'Argentina', '2019-08-19'), (3, 'Maria Cotrina', 23, 'Ecuador', '2019-08-21'), (4, 'Jenifer Carrillo', 27, 'Peru', '2019-08-21'), (5, 'Milagros Ferrer', 29, 'Colombia', '2019-08-16'); ALTER TABLE `tbl_personal` ADD PRIMARY KEY (`id`); ALTER TABLE `tbl_personal` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
Consultar datos MySQL mediante PDO: CONCLUSIÓN
Para poder obtener el contenido de una tabla se puede hacer de varias maneras, un ejemplo usando «MySQLi». Sin embargo, el propósito de este artículo es crear conexiones y consultas bajo en entorno de PDO que nos da un sistema compacto y seguro.
La implementación es muy sencilla como podemos apreciar y es muy recomendable migrar a este tipo de conexiones y consultas para tener sistemas robustos.
DESCARGA
Les dejare la descarga del fichero en un archivo ZIP donde contendrá los archivos necesarios usando la librería BootStrap 4x y también la base de datos `para que puedan probar el presente ejemplo.
Gracias, muy instructivo.
Hola, como puedo descargar el ejemplo? gracias
Hola Asaad,
Ya está disponible la descarga, gracias por comunicarnos.
Muchas gracias, sigo tus aportes y es muy buena data. Te consulto algo mas, esa oferta de 156 programas en PHP y Mysql son de tu produccion?
Claro,
Son creados en el transcurso de la existencia del Blog y al final puesto a la venta en un paquete con un costo accesible.
Hola Nestor, amigo aquí en argentina el dolar se ha duplicado su precio y me es caro comprar tu oferta de 156 programas, podrías hacerme algún descuento? Y aprovecho a consultarte, haces desarrollos en android studio con Kotlin? Saludos