远程连接MySQL数据库

djq*_*djq 13 php mysql

我刚刚在网络托管服务上建立了一个MySQL数据库,我正在尝试使用以下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);
}
?>
Run Code Online (Sandbox Code Playgroud)

我是php和MySQL的新手,我不懂一些东西.我已将上述代码保存在一个文件(名为demo.html)中,我尝试在我的Web浏览器中查看它(它目前没有显示任何内容).

我的托管公司告诉我要连接到我应该使用的数据库

ukld.db.5513497.hostedresource.com
Run Code Online (Sandbox Code Playgroud)

我假设我需要包含IP地址(我在使用PhPMyAdmin登录时看到的内容),所以我也添加了.但是,我不知道这是否结构正确.

$hostname='113.101.88.97.ukld.db.5510597.hostedresource.com';
Run Code Online (Sandbox Code Playgroud)

web*_*ave 10

使用提供的域名 ukld.db.5510597.hostedresource.com

使用IP预先添加主机名只会更改主机名,这就是无法连接的原因.

主机名将在幕后转换为IP地址.不需要自己动手.此外,硬编码IP是不好的做法,因为它们可能会随着时间的推移而发生变化.


min*_*ate 10

您需要使用任一主机名或IP地址,而不是两个.

如果您有可用的命令行MySQL客户端,则可以测试连接字符串.

mysql -u myusername -p -h ukld.db.5510597.hostedresource.com -D testdb
Run Code Online (Sandbox Code Playgroud)

然后它应该提示您输入密码.如果连接成功将这些设置传输到您的PHP应用程序!


Waz*_*azy 5

不需要IP地址试试这个

<?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);
}
?>
Run Code Online (Sandbox Code Playgroud)