我一直在测试虚拟网站是否连接到本地服务器上的数据库。它工作正常(我在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”等变量) my php code here
现在,当我在大学领域中打开网站时,填写该表格并发送,这就是我得到的:picture of connection error
我试图更改服务器名,用户名,密码等变量,但仍然无法正常工作。我猜想我在这里确实错过了一些愚蠢的事情,因为在localhost上一切正常。
这是我的大学领域详细信息:university domain details
这是我正试图将网站连接到详细信息的数据库:database details
P.S对不起我的英语,因为它不是我的母语,希望我对此问题足够清楚。
答案 0 :(得分:1)
首先,请勿共享
namespace WebApplication5 { public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .Build(); } }
和$order->supplements;
之类的敏感信息。检查用户特权和权限。如果一切正常,原因就在下面...
原因是,默认情况下,MySQL不接受来自服务器外部的连接。如果您使用IP
而不是Username
,即使您的IP or Domain
和localhost
托管在application/website
上,它也不会接受连接。
解决方案
如果您的站点/应用程序和数据库托管在同一服务器上,则应使用database
作为主机名,而不要使用Same Server
或localhost
。在您的情况下,请删除IP Domain
,然后使用IP
。
如果没有, 您应该启用远程连接,并告诉MySQL允许来自应用服务器仅(出于安全性)
的连接1。 cPanel
您可以在172.16.xx.xx
中启用远程访问。
connect-to-databases-remotely-in-cpanel-hosting-16103
2。使用SSH(在专用服务器中)