Aqui te dejo una funcion que cree hace unos dias:
Código PHP:
function edad($fecha) {
$tiempo = strtotime($fecha);
$ahora = time();
$edad = ($ahora-$tiempo)/(60*60*24*365);
$edad = floor($edad);
return $edad;
}
Esa funcion toma una fecha dada. En tu caso seria la que vas a insertar en la base de datos en formato YYYY-MM-DD
Busca el UNIX TIMESTAMP de dicha fecha (Que son el numero de segundos desde el 1ero de Enero de 1970 hasta la fecha en el campo)
Luego defino una variable llamada $ahora que es el UNIX Timestamp desde el 1ero de Enero hasta el dia de HOY.
Busco la resta de $ahora menos $tiempo ... y lo divido entre 60*60*24*365 osea desde segundos hasta 1 año.
Y luego hago un
floor a la fecha. Floor siempre redondea hacia abajo. como sabras no podemos redondear la fecha hasta arriba.
:P Creo que eso es todo.
Puedes usarla de la siguiente manera:
echo edad("2000-1-1");
Lo cual te devolveria 8 :)