Удаленное подключение к базе данных MySQL

Я только что создал базу данных MySQL в службе веб-хостинга, и я пытаюсь подключиться к ней удаленно, используя следующий php:

<?php //Connect To Database $hostname='113.101.88.97.ukld.db.5513497.hostedresource.com'; $username='myusername'; $password='mypassword'; $dbname='testdb'; $usertable='test'; $yourfield = 'lat'; mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.'); mysql_select_db($dbname); $query = 'SELECT * FROM ' . $usertable; $result = mysql_query($query); if($result) { while($row = mysql_fetch_array($result)){ print $name = $row[$yourfield]; echo 'Name: ' . $name; } } else { print "Database NOT Found "; mysql_close($db_handle); } ?> 

Я довольно новичок в php и MySQL, и я не понимаю некоторых вещей. Я сохранил вышеуказанный код в файле (demo.html), и я пытаюсь просмотреть его в своем веб-браузере (он в настоящее время ничего не показывает).

Моя хостинговая компания сказала мне, что для подключения к базе данных я должен использовать

 ukld.db.5513497.hostedresource.com 

Я предположил, что мне нужно включить IP-адрес (что я вижу при входе в phpMyAdmin), поэтому я добавил это также. Однако я не знаю, правильно ли это структурировано.

 $hostname='113.101.88.97.ukld.db.5510597.hostedresource.com'; 

Related of "Удаленное подключение к базе данных MySQL"

Используйте предоставленное доменное имя ukld.db.5510597.hostedresource.com

Превращение имени хоста с IP-адресом, поскольку вы делаете, только изменяет имя хоста, и поэтому он не может подключиться.

Имя хоста будет преобразовано в IP-адрес за кулисами для вас. Не нужно делать это самостоятельно. Кроме того, жесткие коды IP-адресов являются плохой практикой, поскольку они могут со временем меняться.

Вам нужно использовать либо имя хоста, либо IP-адрес, а не оба.

Если у вас есть клиент MySQL командной строки, вы можете проверить свои строки подключения.

 mysql -u myusername -p -h ukld.db.5510597.hostedresource.com -D testdb 

Затем он должен запросить у вас пароль. Если он успешно соединит эти настройки с вашим PHP-приложением!

Нет необходимости в IP-адресе. Попробуйте это.

 <?php //Connect To Database $hostname='ukld.db.5510597.hostedresource.com'; $username='myusername'; $password='mypassword'; $dbname='testdb'; $usertable='test'; $yourfield = 'lat'; mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.'); mysql_select_db($dbname); $query = 'SELECT * FROM ' . $usertable; $result = mysql_query($query); if($result) { while($row = mysql_fetch_array($result)){ print $name = $row[$yourfield]; echo 'Name: ' . $name; } } else { print "Database NOT Found "; mysql_close($db_handle); } ?> 

Вам не нужно включать IP-адрес

Нет. Не смешивайте IP-адреса с именами хостов. Вы должны подключиться, используя только имя хоста:

 $hostname='ukld.db.5510597.hostedresource.com'; 

Имя хоста представляет собой IP-адрес.
например: stackoverflow.com представляет IP 64.34.119.12.
если вы выполните ping to stackoverflow.com, то IP 64.34.119.12 ответит вам.
Это означает, что хост может быть, IP-адрес или имя хоста.
Поэтому вы должны попробовать ukld.db.5510597.hostedresource.com, или 173.201.88.97. но не вместе.

Кстати, в большинстве случаев вы не можете запускать PHP-скрипт из html-файла, переименовать расширение файла на php

Удачи!

Вам не нужен IP-адрес, просто используйте имя домена, которое вы указали. Ваш сервер будет использовать DNS для его разрешения на правильный IP-адрес.

Не сохраняйте его как файл HTML. Это файл PHP. Поэтому сохраните его как demo.php. Он должен был указать, где ошибка, если вы сохранили ее как файл PHP.