Marcus
Marcus

Reputation: 4480

Connect to an online MySQL database from localhost

I am trying to connect to my MySQL database on my online server via PHP on my localhost.

$con = mysql_connect("$hostname", "$username", "$password");
if (!$con) {die('Could not connect: ' . mysql_error());}
mysql_select_db($databasename, $con);

When I upload the script to the server it connects to the database fine. However, when I load the script on my localhost it will not connect to the online database. I shut off my firewall to make sure it was not blocking it.

Is the connection above formatted correctly to do this? Any other suggestions?

Upvotes: 5

Views: 11630

Answers (5)

Elyor
Elyor

Reputation: 5532

It is time to move to mysqli_* or PDO

Documentation

Upvotes: 0

svens
svens

Reputation: 11628

Your code is ok.

As others stated the MySQL server has to allow connections from remote machines. Also make sure your provider's firewall isn't blocking the request and double check the hostname, because it may differ from the one you use on your server.

If you didn't set up your server yourself, you'll probably have to speak with th user support of your hoster, because they have the permissions to change settings and more accurate info on this topic.

Upvotes: 2

Tor Valamo
Tor Valamo

Reputation: 33749

As the others say you need to allow that particular host (in this case your IP) to connect. This is in your user table in the mysql database. If you don't have access to this database (or don't have grant privileges) then you can't change this.

Upvotes: 2

Alix Axel
Alix Axel

Reputation: 154573

Your MySQL server needs to have your IP address (or % as wild card) specified in the allowed hosts.

Upvotes: 7

Ignacio Vazquez-Abrams
Ignacio Vazquez-Abrams

Reputation: 798774

Does the host allow this? Many won't let external clients connect.

Upvotes: 2

Related Questions