Si las fechas siempre tiene el misom formato (yyyy-mm-dd) podrias crear un array con explode y luego utilizar la funcion mktime() y colocar cada indice del array en el parametro correspondiente de mktime(). Esto se deberia repetir con las dos fechas, obtendriamos dos fechas en formato ¿unix? (no me ha cuerdo..) que utilizariamos para hacer la comprobacion
Código PHP:
<?
$f1 = '1986-05-23';
$f2 = '1985-05-23';
// Obtener fecha unix para $f1
$f1x = explode("-",$f1);
$f1 = mktime('0','0','0',$f1x[1],$f1x[2],$f1x[0]);
// Obtener fecha unix para $f2
$f2x = explode("-",$f2);
$f2 = mktime('0','0','0',$f2x[1],$f2x[2],$f2x[0]);
if($f1>$f2 OR $f1 == $f2) echo "esto no se puede";
?>
Otra idea que no tengo muy clara, seria eliminar el guion de las dos variables con str_replace y hacer comprobacion directamente con 19850523 > ó < 19850523
En cualquier caso, las dos opcion deben cumplir el formato indicado: yyyy-mm-dd pudiendo reemplazar el guion por cualquier simbolo...