Seleccione y Filtrar datos de una base de datos MySQL
Seleccionar y filtrar datos de una base de datos MySQL es un proceso fundamental en la programación de bases de datos. Implica realizar consultas SQL utilizando la sentencia SELECT
para extraer información específica almacenada en una tabla. Al filtrar los datos, podemos reducir los resultados de la consulta basándonos en condiciones específicas definidas con WHERE
. Esto permite obtener solo los datos relevantes para una operación determinada, como el filtrado por fecha, categorías, valores específicos, etc.
Ejemplo: Seleccionar y Filtrar datos con MySQLi
El siguiente ejemplo selecciona las columnas de identificación, nombre y apellido de la tabla MyGuests
donde el apellido es "Doe", y lo muestra en la página:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificar conexión
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Consulta SQL con filtro
$sql = "SELECT id, firstname, lastname FROM MyGuests WHERE lastname='Doe'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Mostrar datos de cada fila
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
// Cerrar conexión
$conn->close();
?>
Seleccione y Filtrar datos con MySQLi
MySQLi (MySQL Improved) es una extensión de PHP que permite interactuar con bases de datos MySQL. Usar MySQLi para seleccionar y filtrar datos implica utilizar las funciones que esta extensión ofrece. Usando sentencias preparadas o procedimientos orientados a objetos, se puede ejecutar una consulta SELECT
junto con filtros usando la cláusula WHERE
. Esta técnica mejora la seguridad al prevenir inyecciones SQL y facilita la ejecución de consultas de manera más eficiente.
Ejemplo: Seleccionar y Filtrar datos con MySQLi (Procedimiento)
Primero, configuramos la consulta SQL que selecciona las columnas de identificación, nombre y apellido de la tabla MyGuests
donde el apellido es "Doe". La siguiente línea de código ejecuta la consulta y almacena los datos resultantes en una variable llamada $result
.
Luego, la función num_rows()
comprueba si hay más de cero filas devueltas. Si hay resultados, la función fetch_assoc()
organiza los datos en una matriz asociativa que podemos recorrer con un while
. Dentro del bucle, se extraen y muestran las columnas id
, firstname
y lastname
.
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Crear conexión
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Verificar conexión
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Consulta SQL con filtro
$sql = "SELECT id, firstname, lastname FROM MyGuests WHERE lastname='Doe'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// Mostrar datos de cada fila
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
// Cerrar conexión
mysqli_close($conn);
?>
Seleccione datos con la DOP (Declaración preparada)
La DOP (Declaración Preparada de PDO) es un enfoque moderno y seguro para interactuar con bases de datos en PHP. Permite la preparación de sentencias SQL con parámetros que se vinculan posteriormente a las variables proporcionadas por el usuario. Esto asegura que los datos sean manejados de manera segura, previniendo ataques de inyección SQL. Al usar PDO para seleccionar datos, se pueden establecer conexiones a distintas bases de datos de manera más flexible, además de ofrecer un manejo adecuado de errores y un rendimiento optimizado.
Ejemplo: Seleccionar datos con PDO
En este ejemplo, usamos PDO para conectarnos a la base de datos y ejecutar una consulta SELECT
con una declaración preparada. Se usa bindParam()
para asociar valores de manera segura, evitando inyecciones SQL.
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
// Crear conexión con PDO
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Preparar consulta SQL
$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests WHERE lastname = :lastname");
$lastname = "Doe";
$stmt->bindParam(':lastname', $lastname);
$stmt->execute();
// Mostrar resultados en una tabla
echo "<table border='1'>";
echo "<tr><th>ID</th><th>Nombre</th></tr>";
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<tr><td>" . $row["id"] . "</td><td>" . $row["firstname"] . " " . $row["lastname"] . "</td></tr>";
}
echo "</table>";
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
// Cerrar conexión
$conn = null;
?>
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias