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开发者_JS百科 this? Any other suggestions?
Your MySQL server needs to have your IP address (or %
as wild card) specified in the allowed hosts.
Does the host allow this? Many won't let external clients connect.
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.
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.
It is time to move to mysqli_*
or PDO
Documentation
精彩评论