What are potential pitfalls when using MySQL queries to check for overlapping time intervals in PHP scripts?

One potential pitfall when using MySQL queries to check for overlapping time intervals in PHP scripts is not properly handling edge cases, such as when one time interval completely overlaps with another. To solve this, you can use the `BETWEEN` operator in your MySQL query to check if the start or end times of one interval fall within the range of another interval.

// Assuming $start1, $end1, $start2, $end2 are the start and end times of the two intervals

$query = "SELECT COUNT(*) FROM intervals 
          WHERE ('$start1' BETWEEN start_time AND end_time 
          OR '$end1' BETWEEN start_time AND end_time 
          OR start_time BETWEEN '$start1' AND '$end1')";
$result = mysqli_query($connection, $query);
$row = mysqli_fetch_array($result);

if ($row[0] > 0) {
    // Overlapping intervals found
    echo "Intervals overlap";
} else {
    // Intervals do not overlap
    echo "Intervals do not overlap";
}