【问题标题】:Why my website connects to database on local server, but it does not connect on university domain?为什么我的网站连接到本地服务器上的数据库,但它没有连接到大学域?
【发布时间】:2023-03-25 22:00:02
【问题描述】:

我一直在测试我的虚拟网站是否连接到我的本地主机服务器上的数据库。它工作得很好(我在我的 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 抱歉我的英语不是我的母语,希望我对这个问题足够清楚。

【问题讨论】:

  • 您的网站和数据库在同一台服务器上运行?
  • 在您的数据库详细信息中,单击连接信息会看到哪些信息
  • @BanujanBalendrakumar 是的,一切都在 PLESK 上运行,不确定您是否听说过。但是您在该平台上管理您的网站、数据库等。
  • @NishantSaini 您好,感谢您的提问。连接信息显示此信息:主机:172.16.11.22:3306 数据库名称:rana1_17_DB1 用户名:rana1_DB1 密码:******
  • 这是您连接数据库时必须使用的,而不是 plesk 登录密码。 $servername 也应该是 172.16.11.22

标签: php mysql database


【解决方案1】:

首先不要分享敏感信息,例如IPUsername

检查用户权限和权限。如果一切正常,Reason 在下方...

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

解决方案

如果您的站点/应用程序和数据库托管在同一台服务器上,您应该使用localhost 而不是DomainIP 作为主机名。在您的情况下,删除 IP 172.16.xx.xx 并使用 localhost

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

1.面板

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

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

Enable MySQL remote connection Ubuntu Server

【讨论】:

  • 非常感谢您的详尽回答和您的宝贵时间!我刚刚开始学习所有这些东西,很高兴能找到帮助!
  • @Aurimas 随时欢迎您。欢迎来到stackoverflow
猜你喜欢
  • 1970-01-01
  • 2013-02-16
  • 1970-01-01
  • 2016-06-27
  • 1970-01-01
  • 2011-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多