Non credo che il tuo user_id md5-ied stia passando nella query di aggiornamento perché all'interno di top se la condizione non è presente la funzione md5() che sta eseguendo l'attività e devi anche assicurarti che come viene memorizzato il valore all'interno del database, è md5- ied user_id o normale user_id ? se per md5 user_id prova in questo modo,
if(isset($_GET['user'])){
$id = $_GET['user'];
$id = md5($id);
$sql = "UPDATE request SET email_verification=1 WHERE Id='$id'";
$result = $conn->query($sql);
if ($result === TRUE) {
header('Location: index.php');
}
else {
echo "Error updating record: " . $conn->error;
}
}