si entiendo un poco:
Cita: Entonces si quiero entrar una reserva que no cumple la segunda condición, por ejemplo de 17h a 21h , como si cumple la primera ya salta a registrar a la base de datos.
utiliza una bandera iniciada en "true" asumiendo que no hay ninguna recerva en ese horario, luego recorriendo todas las recervas de ese día, si no se cruza la dejas en true de lo contrario le pones false, y ya fuera del bucle WHILE comparas la bander y haces la insercion :)