Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remotely connecting to a MySQL database

Tags:

php

mysql

I've just set up a MySQL database on a web-hosting service and I'm trying to connect to it remotely using the following php:

<?php
//Connect To Database
$hostname='113.101.88.97.ukld.db.5513497.hostedresource.com';
$username='myusername';
$password='mypassword';
$dbname='testdb';
$usertable='test';
$yourfield = 'lat';

mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.');
mysql_select_db($dbname);

$query = 'SELECT * FROM ' . $usertable;
$result = mysql_query($query);
if($result) {
    while($row = mysql_fetch_array($result)){
        print $name = $row[$yourfield];
        echo 'Name: ' . $name;
    }
}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}
?>

I'm quite new to php and MySQL, and I don't understand a few things. I have saved the above code in a file (called demo.html) and I try viewing it in my web browser (it currently does not show anything).

My hosting company told me that to connect to the database I should use

ukld.db.5513497.hostedresource.com

I assumed that I needed to include the IP address (what I see when I login using PhPMyAdmin), so I added that also. However, I don't know if that is structured correctly.

$hostname='113.101.88.97.ukld.db.5510597.hostedresource.com';
like image 599
djq Avatar asked Jan 13 '11 18:01

djq


3 Answers

Use the supplied domain name ukld.db.5510597.hostedresource.com

Prepending the hostname with an IP as you are doing only changes the hostname and that is why it is failing to connect.

The hostname will be converted to an IP address behind the scenes for you. No need to do it yourself. Plus, hardcoding IPs is bad practice as they can change over time.

like image 148
webbiedave Avatar answered Nov 17 '22 02:11

webbiedave


You need to use either the hostname or the IP address, not both.

If you have a command line MySQL client available to you, you can test your connection strings.

mysql -u myusername -p -h ukld.db.5510597.hostedresource.com -D testdb

It should then prompt you for your password. If it connects successfully transfer those settings to your PHP app!

like image 10
minichate Avatar answered Nov 17 '22 00:11

minichate


No need for IP address Try this

<?php
//Connect To Database
$hostname='ukld.db.5510597.hostedresource.com';
$username='myusername';
$password='mypassword';
$dbname='testdb';
$usertable='test';
$yourfield = 'lat';

mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.');
mysql_select_db($dbname);

$query = 'SELECT * FROM ' . $usertable;
$result = mysql_query($query);
if($result) {
    while($row = mysql_fetch_array($result)){
        print $name = $row[$yourfield];
        echo 'Name: ' . $name;
    }
}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}
?>
like image 4
Wazy Avatar answered Nov 17 '22 00:11

Wazy