Otro detalle ...
Intenta hacer una validación de que si tu consulta SQL arroja resultados antes de pretender accederlos .. Imagina el caso en que ese "DNI" no exista .. (por un valor introducido intencionalmente no correcto ... por qué simplement no exista ..) .. Para ello puedes usar mysql_num_rows()
Por otro lado tienes un problema de "conceptos" en el uso o lo que representan o generan algunas funciones de Mysql:
mysql_query() "ejecuta" una consulta SQL dada .. pero NO es la función para "obtener sus resultados" .. dicha función sólo generar un "record-set" .. un "resultado" ..
Por ende se suele asignar a una variable tipo:
Código PHP:
$resultado=mysql_query($sql) or die (mysql_error());
Y luego .. con alguna función tipo:
mysql_fetch_array() ... (o del grupo _fetch_ ...) ó mysql_result() .. ahí accedes a los "resultados".
Código PHP:
$row=mysql_fetch_array($resultado);
Ahí ya puedes acceder a tu $row['nombre_campo'] ..
Quedaría algo tipo:
Código PHP:
$resultado=mysql_query($sql) or die (mysql_error());
if (mysql_num_rows($resultado)){
$row=mysql_fetch_array($resultado);
echo $row['blablaal'];
} else {
echo "No hay resultados";
}
Un saludo,