Я проверял свой фиктивный веб-сайт, если он подключается к базе данных на моем локальном сервере. Он отлично работает (я использую MAMP на моем Mac). Я могу ввести данные в простой форме, отправить их и обновления базы данных, как это должно быть.
Когда я загрузил свой веб-сайт в университетский домен и изменил значения в своем 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-код
Теперь, когда я открываю веб-сайт на университетском домене, заполняю эту форму и отправляю ее, вот что я получаю: картина ошибки подключения
Я пытался изменить переменную servername, username, password и т.д., Но она все еще не работает. Я предполагаю, что мне здесь не хватает чего-то действительно глупого, так как на localhost все работает хорошо.
Вот мои университетские доменные данные: университетские доменные данные
Вот база данных, я пытаюсь подключить сайт к деталям: детали базы данных
PS Прошу прощения за мой английский, так как он не является моим родным языком, надеюсь, я достаточно ясно понял этот вопрос.
Во-первых, не делитесь конфиденциальной информацией, такой как
IP
иUsername
.Проверьте пользовательские привилегии и разрешения. Если все в порядке, причина ниже...
Причина в том, что по умолчанию MySQL не будет принимать соединение, исходящее извне сервера. Он не будет принимать соединение, если вы используете IP or Domain
вместо localhost
Даже ваше application/website
и database
размещены на том Same Server
.
Решение
Если ваш сайт/приложение и база данных размещены на одном и том же сервере, вы должны использовать localhost
в качестве имени хоста вместо Domain
или IP
. В вашем случае удалите IP 172.16.xx.xx
и используйте localhost
.
Если нет, вы должны разрешить удаленное соединение и сказать MySQL, чтобы разрешить соединение, которое идет ТОЛЬКО с сервера приложений (для безопасности)
1. cPanel
Вы можете включить удаленный доступ в вашей cPanel
. подключения к базам данных-дистанционно-в-Cpanel-хостинг-16103
2. Использование SSH (на выделенных серверах)