Moví para no borrar la respuesta que te dieron, que es pura programación en PHP.
Para MySQL, está parcialmente mal escrita...
MySQL no entiende el contenido de variables en PHP ni en ningun lenguaje. Los valores de cadena deben estar entre apostrofos, y las fechas deben ser de tipo DATE, DATETIME o TIMESTAMP, que requiere el formato AAAA-MM-DD.
Fuera de eso, es posible hacer lo que pretendes, pero hay que crear la logica completa dentro de un stored procedure, dado que tiene muchas cosas a evaluar.