为什么我的网站连接到本地服务器上的数据库,而不连接到大学域



我一直在测试我的虚拟网站是否连接到本地主机服务器上的数据库。它运行得非常好(我在mac上使用MAMP(。我可以以简单的形式输入详细信息,发送它和数据库更新,就像它应该做的那样

当我将我的网站上传到大学域,并根据该域的详细信息更改php代码中的值时,由于某种原因,网站无法连接到数据库,也不会更新。

这是我在HTML中使用的表单:

<!-- Contact Form -->
<section>
<form method="post" action="connection.php">
<div class="row gtr-50">
<div class="col-6 col-12-small">
<input type="text" name="Name" id="Name" placeholder="Full Name" />
</div>
<div class="col-6 col-12-small">
<input type="text" name="Email" id="Email" placeholder="Email" />
</div>
<div class="col-12">
<textarea name="Review" id="Review" placeholder="Your review about meals" rows="4"></textarea>
</div>
<div class="col-12">
<ul class="actions">
<li>
<input type="submit" class="style1" value="Send" />
</li>
<li>
<input type="reset" class="style2" value="Reset" />
</li>
</ul>
</div>
</div>
</form>
</section>

以下是连接到数据库的PHP代码(在localhost上,所有连接都非常好,当然我更改了变量,如$servername="localhost";$username="root"等(我的php代码在这里

现在,当我在大学域上打开网站,填写表格并发送时,我得到的是:连接错误的图片

我尝试过更改服务器名、用户名、密码等变量,但仍然不起作用。我猜我错过了一些非常愚蠢的东西,因为在localhost上一切都很好。

以下是我的大学域名详情:大学域名详情

以下是我试图连接网站的数据库详细信息:数据库详细信息

p.S很抱歉我的英语不是我的第一语言,希望我对这个问题足够清楚。

首先不要共享像IPUsername这样的敏感信息。

检查用户权限和权限。如果一切正常,下面是原因。。。

原因是,默认情况下,MySQL不会接受来自服务器外部的连接。如果您使用IP or Domain而不是localhost,即使您的application/websitedatabase托管在Same Server上,它也不会接受连接。

解决方案

若您的站点/应用程序和数据库托管在同一服务器上,则应使用localhost作为主机名,而不是DomainIP。在您的情况下,请删除IP172.16.xx.xx并使用localhost

如果不是,您应该启用远程连接,并告诉MySQL允许来自应用程序服务器的连接ONLY(为了安全(

1.cPanel

您可以在cPanel中启用远程访问。连接到数据库-车载面板-电话-16103

2.使用SSH(在专用服务器中(

启用MySQL远程连接Ubuntu服务器

最新更新