Удаленное подключение к базе данных 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';

Ответ 1

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

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

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

Ответ 2

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

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

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

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

Ответ 3

Нет необходимости в 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);
}
?>

Ответ 4

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

Ответ 5

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

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

Ответ 6

Имя хоста представляет собой 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 script из html файла, переименуйте расширение файла в php

Удачи!

Ответ 7

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

Ответ 8

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