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