Il codice tenta di utilizzare una variabile di collegamento per sostituire una parola chiave SQL e un numero. Non puoi farlo™.
Quando ho risolto questo problema, ho tradotto i miei intervalli di tempo in secondi, quindi ho utilizzato
CURDATE() - INTERVAL :seconds SECONDS
A proposito, CURDATE() ti dà la mezzanotte di oggi. Potresti invece volere NOW() se gestisci gli intervalli sub-giornalieri.