Para hacer que las fechas entren en la query, en PHP, los parámetros que lleguen (supongamos por POST), tienen que tener el formato correcto, o MySQL no los reconocerá.
Este sería un ejemplo algo rústico:
Código PHP:
<?php
// Tanto "entrada" como "salida" deben tener el formado AAA-MM-DD. Sin horas
$entrada = $_POST['entrada'];
$salida = $_POST['salida'];
$db = new mysqli($host, $user, $pass);
$db->select_db("tuBase");
// El "\n" tiene por único objetivo poner un salto de linea en la cadena,
// pero no tiene efectos nocivos.
// Lo suelo hacer para que, luego, si necesito visualizar la cadena de la
// consulta, esta resulte legible, y no un mmarracho continuo y que cueste leer.
$qry = "SELECT * FROM disponibilidad \n ";
$qry .= "WHERE tipo_casa \n ";
$qry .= " AND \n ";
$qry .= " ('$entrada' BETWEEN dia_entrada AND dia_salida \n ";
$qry .= " OR \n ";
$qry .= " '$salida' BETWEEN dia_entrada AND dia_salida \n ";
$qry .= " OR \n ";
$qry .= " (dia_entrada <= '$entrada' AND dia_salida >= '$salida'))\n ";
$result = $db->query($qry);
// -----------------------------------------------------------------------------------
if($result)
{
if($result->num_rows>0)
{
// tareas si se encontraron registros
}
else
{
//tareas si no hay registros.
}
}
?>
¿Es esto lo que estás haciendo?