Hola,
Te falta filtrar los resultados en tu query segun veo, no revise todo el codigo, solo tu query
Código PHP:
<?php
$conexion=mysql_connect("localhost","root")
or die("Problemas en la conexion");
mysql_select_db("personas",$conexion)
or die("Problemas en la selección de la base de datos");
$registros=mysql_query("select id,nombre,profesion,edad from caracteristicas WHERE id=".$GET["id"],$conexion) or
die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
echo "ID:".$reg['id']."<br>";
echo "Nombre:".$reg['nombre']."<br>";
echo "<br>";
echo "<hr>";
}
mysql_close($conexion);
?>
"select id,nombre,profesion,edad from caracteristicas WHERE id=".$GET["id"]
Selecciona los campos id,nombre,profesion,edad de la tabla caracteristicas, pero unicamente los que tienen por id lo que traes por GET.
Recuerda validar el GET["id"] para que sea solo numerico.
Saludos.