How to check if a string is a valid DATE, TIME or DATETIME
I use this syntax in my Application and it's work like charm!
SELECT DATE('2013-09-31') AS valid;
My System is Win7x64 with PHP 5.5 and MySQL 5.6.16
You could parse the date according to the format you want to use and then call checkdate to test if it's a valid date. Make sure you read the comments on http://php.net/manual/en/function.checkdate.php.