A better English sentence: "I have lived here for three years."
"I have lived here three years" should also be correct.
"I lived here for the last three years." This way, "selama" can be approximated with "the last" or "the previous".
Also, why not "I have lived here during the last three years", for the same reason?