繁体   English   中英

远程连接MySQL数据库

[英]Remotely connecting to a MySQL database

我刚刚在网络托管服务上建立了一个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);
}
?>

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

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

ukld.db.5513497.hostedresource.com

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

$hostname='113.101.88.97.ukld.db.5510597.hostedresource.com';

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

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

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

你需要为使用主机名或IP地址,而不是两个。

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

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

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

不需要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);
}
?>

您不需要包含IP地址

不。不要将IP地址与主机名混合使用。 您应该只使用主机名进行连接:

$hostname='ukld.db.5510597.hostedresource.com';

主机名代表IP地址。
例如:stackoverflow.com代表IP 64.34.119.12。
如果你ping到stackoverflow.com,IP 64.34.119.12将回答你。
这意味着主机可以是IP地址或主机名。
所以你应该试试ukld.db.5510597.hostedresource.com,或173.201.88.97。 但不是在一起。

顺便说一句,在大多数情况下你不能从html文件运行PHP脚本,将你的文件扩展名重命名为php

祝好运!

不要将其另存为HTML文件。 这是一个PHP文件。 所以保存为demo.php。 如果您将其保存为PHP文件,它应该指出错误的位置。

您不需要IP地址,只需使用您提供的域名。 您的服务器将使用DNS将其解析为正确的IP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM