为什么我的网站连接到本地服务器上的数据库,但没有连接到大学域?

时间:2018-11-29 17:31:29

标签: php mysql database

我一直在测试虚拟网站是否连接到本地服务器上的数据库。它工作正常(我在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对不起我的英语,因为它不是我的母语,希望我对此问题足够清楚。

1 个答案:

答案 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 Domainlocalhost托管在application/website上,它也不会接受连接。

解决方案

如果您的站点/应用程序和数据库托管在同一服务器上,则应使用database作为主机名,而不要使用Same Serverlocalhost。在您的情况下,请删除IP Domain,然后使用IP

如果没有, 您应该启用远程连接,并告诉MySQL允许来自应用服务器(出于安全性)

的连接

1。 cPanel

您可以在172.16.xx.xx中启用远程访问。 connect-to-databases-remotely-in-cpanel-hosting-16103

2。使用SSH(在专用服务器中)

Enable MySQL remote connection Ubuntu Server