Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created March 15, 2019 03:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/62c50d960e6e5ed2c2cc9941e8cecc37 to your computer and use it in GitHub Desktop.
Save parzibyte/62c50d960e6e5ed2c2cc9941e8cecc37 to your computer and use it in GitHub Desktop.
<?php
# Por defecto hacemos la consulta de todas las personas
$consulta = "SELECT * FROM personas";
# Vemos si hay búsqueda
$busqueda = null;
if (isset($_GET["busqueda"])) {
# Y si hay, búsqueda, entonces cambiamos la consulta
# Nota: no concatenamos porque queremos prevenir inyecciones SQL
$busqueda = $_GET["busqueda"];
$consulta = "SELECT * FROM personas WHERE nombre LIKE ?";
}
# Preparar sentencia e indicar que vamos a usar un cursor
$sentencia = $base_de_datos->prepare($consulta, [
PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL,
]);
# Aquí comprobamos otra vez si hubo búsqueda, ya que tenemos que pasarle argumentos al ejecutar
# Si no hubo búsqueda, entonces traer a todas las personas (mira la consulta de la línea 5)
if ($busqueda === null) {
# Ejecutar sin parámetros
$sentencia->execute();
} else {
# Ah, pero en caso de que sí, le pasamos la búsqueda
# Un arreglo que nomás llevará la búsqueda con % al inicio y al final
$parametros = ["%$busqueda%"];
$sentencia->execute($parametros);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment