query no ejecuta correctamente con operador "="
Publicado por m@rcos (6 intervenciones) el 05/11/2013 00:44:58
Buenas tardes, tengo un problema con un query en mi pagina web (soy principiante). No funciona correctamente cuando utilizo el operador IGUAL(=). La parte del LIKE si lo ejecuta bien. Por ejemplo, si quiero buscar cuando el valor de cod_suministro es exactamente a 100 me sale como resultado todos los que empiezan en 100. Por otro lado cuando quiero buscar el cod_suministro con el valor de MS0907, no me devuelve ningun resultado. Cuando ejecuto los querys por separado directamente en MYSQL si obtengo el resultado esperado.
Les envio parte del codigo. En la BD el campo cod_suministro es un varchar (30). Utilizo un IF porque dependiendo del radiobutton seleccionado sólo quiero que la busqueda sea exacta cuando el criterio de busqueda es igual a cod_suministro (es decir, el usuario ha seleccionado dicho RButton).
if ($criterio_busqueda=="cod_suministro")
{
$filtro = "where ".$criterio_busqueda." = ".$cadena_busqueda."";
}
else
{
$filtro = "where ".$criterio_busqueda." like '%".$cadena_busqueda."%'";
}
$result = $conn->query( "select * from suministro_energia ".$filtro." order by cod_suministro");
espero haberme hecho entender
Les envio parte del codigo. En la BD el campo cod_suministro es un varchar (30). Utilizo un IF porque dependiendo del radiobutton seleccionado sólo quiero que la busqueda sea exacta cuando el criterio de busqueda es igual a cod_suministro (es decir, el usuario ha seleccionado dicho RButton).
if ($criterio_busqueda=="cod_suministro")
{
$filtro = "where ".$criterio_busqueda." = ".$cadena_busqueda."";
}
else
{
$filtro = "where ".$criterio_busqueda." like '%".$cadena_busqueda."%'";
}
$result = $conn->query( "select * from suministro_energia ".$filtro." order by cod_suministro");
espero haberme hecho entender
Valora esta pregunta


0