Generando consulta SQL basada en parámetros de URL
Suponga que mi URL eshttp://something.com/products.php?brand=samsung&condition=new
Para la consulta anterior estoy usandoisset()
y$_GET[])
funciona junto con muchasif-else
declaraciones en PHP para generar una consulta sql para mostrar los productos que satisfacen los criterios de búsqueda.
Por ejemplo: si estoy tratando solo conbrand
ycondition
parámetros, entonces así es como generaré la consulta:
$sql = "select * from products where 1=1 ";
if(isset($_GET['brand']))
{
if(isset($_GET['condition']))
{
$sql = $sql + "and brand=".$_GET['brand']." and condition=".$_GET['condition'];
}
}
else
{
if(isset($_GET['condition']))
{
$sql = $sql + "and condition=".$_GET['condition'];
}
else
{
$sql = $sql + ";";
}
}
Ahora suponga que mi URL tiene 10 parámetros (o más). En este caso, usandoif-else
no está del todo bien. ¿Cómo puedo generar la consulta sin usar tantosif-else
declaraciones? ¿Hay algún método / script / biblioteca mejor disponible para hacer esto?