Я только что создал базу данных 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';
Используйте предоставленное доменное имя 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.