63-Donde en MySql con php




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;
?>



Publicar un comentario

0 Comentarios