Да, вы должны нормализовать результат в PHP, прежде чем передавать его в ваш запрос SQL.
Ваш код может выглядеть примерно так ...
$dateForSqlQuery = date('Y-m-d', strtotime($input));
... при условии, что strtotime()
правильно обработает эти варианты.
С другой стороны, вы действительно должны разбить пользовательский ввод на отдельный день, месяц и год, а затем сгенерировать строку самостоятельно.