Stepping back a bit, why don't you have a single column for your date information and make use of MySql date and time functions to deal with your query? MySql will handle such things both more quickly and more robustly than your program. See http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html Replace the /5.6/ with whatever version is yours if you need to (recent changes are about the precision of partial seconds, which I doubt matters to you). See particularly the MONTH() and YEAR() functions which will extract the month and year from a date (or datetime or timestamp)
I would be wary of using BETWEEN where the first value is greater than the second value. I'm not sure what would be returned in that instance. The two BETWEEN clauses need to be surrounded by brackets.