I am trying to connect to my MySQL database on my online server via PHP on my localhost.
$con = mysql_connect(\"$hostname\", \"$username\", \"$password\"); i
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.
user
mysql