$start_date = date('Y-m-d', strtotime(str_replace('/', '-', $query->row('startdate'))));
Albo jeszcze lepiej - po prostu zmień dane w bazie danych:
UPDATE `table` SET `startdate` = REPLACE(`startdate`, '/', '-');
... a następnie przekonwertuj pole na typ DATA.
---- EDYTUJ ----
Właściwie pułkownik Shrapnel ma rację… przeoczyłem fakt, że data również wymaga cofnięcia, więc jest to RRRR-MM-DD; zakładając, że oryginalna data jest w formacie DD/MM/RRRR, lepszym zapytaniem może być:
UPDATE `table` SET `date` = CONCAT(SUBSTRING(`date`, 7), '-', SUBSTRING(`date`, 4, 2), '-', SUBSTRING(`date`, 1, 2))
Co odwróci części składowe w ciąg, który można przekonwertować na DATĘ ... nie zadziała, jeśli oryginalny ciąg daty nie używa wiodących zer 1/6/2011
na przykład... musiałby w takim przypadku zrobić coś mądrzejszego.