Cita:
Iniciado por desweb
Ok.
Esto es lo que me envia:
SQL=SELECT * FROM reservaciones WHERE fecha_entrada BETWEEN '2013-09-16' AND '2013-09-18' OR fecha_salida BETWEEN '2013-09-16' AND '2013-09-18' AND id_edificio=19 AND habitacion LIKE '%Hab2%'
Las variables me las toma correctamente
Aquí el problema, a nivel de lógica es que tienes dos grupos de condiciones:
Código SQL:
Ver originalfecha_entrada BETWEEN '2013-09-16' AND '2013-09-18'
Esta es una condición.
Esta es otra condición.
Es así porque el OR es una disyunción lógica, y "parte" el conjunto en dos, cada una de las cuales puede ser verdad o ambas al mismo tiempo.
Ahora bien, si las condiciones de fecha deben ser una u otra, pero todo lo demás es mandatorio, entonces te faltan los paréntesis:
Ahora bien, me hace dudar que exista una habitación que se denomine "Hab2".
¿Es así? ¿Con un "2" en el nombre?
Fuera de eso, como ya te dijo @pateketrueke, prueba esa query en phpMyadmin, y veamos si devuelve datos, y de ser así, mira si los datos son los que esperabas. si no lo son, es que tus condiciones no son correctas.