i feel like i've done everything right but i am still getting the "error establishing database connection"
Continuing to feel you have done everything right when reality is proving otherwise is likely to hamper your ability to solve the problem. You need to go back and double/triple check because something is obviously wrong.
A common mistake is leaving the DB set as localhost, when many IPSs use a separate database server (1and1 certainly do). The best way to check your connection details are in fact correct is to use phpMyAdmin (http://www.phpmyadmin.net/home_page/index.php) to connect to your database. If using the same details as you have in your WP config file doesn't work then you know they are not entered correctly. If it does work then there is some other problem - probably need to contact your host to resolve it.