Bueno... es así como te dijeron... simplemente un par de cosas:
- La función mysql_db_query() va quedando en desuso, por eso sigue utilizando mysql_query().
- Siempre es mejor tener la cadena con el sql en una variable, pues eso simplifica enormemente la tarea de descubrir errores.
Código PHP:
$sql = "SELECT * FROM materias WHERE Dni = '$Dni' ";
$result = mysql_query($sql) or die("Error en <b>$sql</b>:::". mysql_error());
En caso de fallar te mostrará toda la cadena de consulta (para que compruees si se ha generado bien) y el mensaje de error de mysql.
Saludos