2011-01-13 5 views
10

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

<?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'; 
+0

Выглядит хорошо. Что происходит? Что означает 'echo mysql_error();' yield? –

+0

Спасибо всем; урок выучен! :) – djq

ответ

8

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

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

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

2

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

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

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

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); 
} 
?> 
9

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

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

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

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

2

Имя хоста представляет собой 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

Удачи!

0

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

Смежные вопросы