MySQL STR_TO_DATE() returns invalid date <p>Our website requires signing up. Lately it has become apparent that the signup process fails on many occasions. I implemented several logs in my PHP code to start tracking this. Including one to track outputs from mysql_last_error() when possible.</p> <p>My next step was to write a script that generates sign-up requests with random values for the different required fields. My logic was that if this yields an issue - the problem is with the back-end logic, and if it doesn't - the problem is with server loads. (BTW, was this sound logic?)</p> <p>When sending many of these (I'd say about 150) I got only three errors, and the mysql_last_error log showed this:</p> <ul> <li><p>[Wed May 21 13:20:45.000000 2014] Incorrect date value: '1964-11-31' for column 'dob' at row 1</p></li> <li><p>[Wed May 21 13:48:37.000000 2014] Incorrect date value: '1963-11-31' for column 'dob' at row 1</p></li> <li><p>[Wed May 21 13:48:37.000000 2014] Incorrect date value: '1967-02-29' for column 'dob' at row 1</p></li> </ul> <p>The request is sent in a JSON format, and its dob field is in mm/dd/yyyy format. The SQL in my PHP code subsequently looks like this:</p> <pre><code>"STR_TO_DATE('".$cleanUser['dob']."', '%m/%d/%Y')" </code></pre> <p>I tried performing this operation inside MySQL Workbench as well, to isolate it from possible bad code. but it failed there as well. I simply don't understand what's the problem, and why it occurs only on some dates.</p> <p>All help will be greatly appreciated, Thanks in Advance</p>