MySQL connection ignoring defined values, using weird default values?

On a website I’m making for a friend, there’s a MySQL db that needs to be connected to.

I have defined the user, password, database, and host in the PHP scripting and using mysql_connect() connects up just fine, no errors. Here is what I am defining the values as:

$db_user = “javen”;
$db_pass = “****************”;
$db_host = “”;
$db_db = “javen”;
$db_tbl = “users”;

However when the PHP script actually goes to retrieve data from the database, I get this error:

$useridnum = $_SESSION[‘user_id’];
$sql = “SELECT state FROM users WHERE id=$useridnum”;
$query = mysql_query($sql) or die ("Query failed: ".mysql_error());

Query failed: Access denied for user ‘ODBC’@‘localhost’ (using password: NO)

An important thing to note is that the database is on my webhosting and the actual website is on hers (hers doesn’t allow mysql dbs). My host allows other sites to access their databases and I have taken the steps to make sure it can. Her site is hosted on the webspace of a company she used to work at, not an actual paid webhost.

Another thing is that I’ve used this same code on a half dozen other sites without any problem, so I’m positive it’s not a syntax thing, like I accidentally put ODBC or anything.

I’m just really confused about where the ODBC and localhost are coming from and how I can get around them and turn my defined values into the defaults.

Does anyone have any suggestions or should I just convince her to get hosting that supports MySQL fully?