Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Удалённое подключение к бд

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Написал подключение к бд на локалке, а удалённое подключение не знаю как настроить.
SlFomin
Отправлено: 16 Марта, 2014 - 17:36:59
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2014  
Откуда: Екатеринбург, Россия


Помог: 0 раз(а)




Я пытался написать счётчик посещений для сайта, коряво, но вышло. Но работало только на локальной машине потому что у хостера нельзя подключаться напрямую к бд.
Вроде всё описал теперь суть как мне сделать удалённое подключение к хосту типа user.mysql.host.ru?
(Добавление)
подключался локально так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $db_host = "localhost";
  3. $db_name = "stats";
  4. $db_user = "root";
  5. $db_pass = "rootpass";
  6. $db = mysqli_connect ($db_host, $db_user, "rootpass", $db_name) or die ("Невозможно подключиться к БД");
 
 Top
KingStar
Отправлено: 16 Марта, 2014 - 17:53:10
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




на удаленном сервере нужно разрешить внешнее подключение


-----
То что программа работает, не означает что она написана правильно!
 
 Top
SlFomin
Отправлено: 16 Марта, 2014 - 17:55:15
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2014  
Откуда: Екатеринбург, Россия


Помог: 0 раз(а)




KingStar пишет:
на удаленном сервере нужно разрешить внешнее подключение

На удалённом я ничего кроме данных в бд не могу менять
мне дали пароль, хост, логин, имя базы, но по коду который я написал он не подключается
 
 Top
KingStar
Отправлено: 16 Марта, 2014 - 17:55:44
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




и в переменной



использовать IP удаленного сервера
(Добавление)
если нет возможности изменить, то либо стоит обратится в службу техподдержки для вкл данной опции (т.к. она по умолчанию откл), либо отказаться от этой идеи и использовать подключение на самом сервер


-----
То что программа работает, не означает что она написана правильно!
 
 Top
SlFomin
Отправлено: 16 Марта, 2014 - 18:01:17
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2014  
Откуда: Екатеринбург, Россия


Помог: 0 раз(а)




KingStar пишет:
если нет возможности изменить, то либо стоит обратится в службу техподдержки для вкл данной опции (т.к. она по умолчанию откл), либо отказаться от этой идеи и использовать подключение на самом сервер


Мне сказали в ТП использовать это:
PHP:
скопировать код в буфер обмена
  1. # соединяемся с сервером и выбираем свою базу данных
  2. mysql_connect("login.mysql.host.ru",
  3. "login","password");
  4. mysql_select_db("database");
  5.  
  6. # готовим и выполняем запрос к БД
  7. $query = "SELECT * FROM table";
  8. $result = mysql_query($query)
  9.  

но т.к. я плохо ещё понимаю это то я не знаю как мне используя пример ТП запихать это к себе
 
 Top
KingStar
Отправлено: 16 Марта, 2014 - 18:06:37
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




PHP:
скопировать код в буфер обмена
  1. $db_host = "login.mysql.host.ru";
  2. $db_name = "stats";
  3. $db_user = "root";
  4. $db_pass = "rootpass";
  5. $db = mysqli_connect ($db_host, $db_user, $db_pass, $db_name) or die ("Невозможно подключиться к БД:".mysqli_error($link));

(Отредактировано автором: 16 Марта, 2014 - 18:08:19)



-----
То что программа работает, не означает что она написана правильно!
 
 Top
SlFomin
Отправлено: 16 Марта, 2014 - 18:12:28
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2014  
Откуда: Екатеринбург, Россия


Помог: 0 раз(а)




KingStar пишет:
PHP:
скопировать код в буфер обмена
  1. $db_host = "login.mysql.host.ru";
  2. $db_name = "stats";
  3. $db_user = "root";
  4. $db_pass = "rootpass";
  5. $db = mysqli_connect ($db_host, $db_user, $db_pass, $db_name) or die ("Невозможно подключиться к БД:".mysqli_error($link));

я так пытался только без
KingStar пишет:
.mysqli_error($link));

он выводил:
Warning: mysqli_connect() [function.mysqli-connect]: [2002] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было (trying to connect via tcp://a93525.mysql.mchost.ru:3306)
а с вашим кодом:
Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2002): Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.
и ещё внизу:
Warning: mysqli_error() expects parameter 1 to be mysqli, null given in Z:\home\test1.ru\www\inc\db.php on line 6
Невозможно подключиться к БД

(Отредактировано автором: 16 Марта, 2014 - 18:14:18)

 
 Top
KingStar
Отправлено: 16 Марта, 2014 - 18:48:26
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




думаю в переменной

PHP:
скопировать код в буфер обмена
  1. $db_host = "login.mysql.host.ru";


вместо login нужно подставить свой, т.е походу так

PHP:
скопировать код в буфер обмена
  1. $db_host = "root.mysql.host.ru";

(Добавление)
PHP:
скопировать код в буфер обмена
  1. $db = mysqli_connect ($db_host, $db_user, $db_pass, $db_name) or die ("Невозможно подключиться к БД:".mysqli_error($db));


-----
То что программа работает, не означает что она написана правильно!
 
 Top
SlFomin
Отправлено: 17 Марта, 2014 - 08:45:44
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2014  
Откуда: Екатеринбург, Россия


Помог: 0 раз(а)




KingStar пишет:
думаю в переменной

PHP:
скопировать код в буфер обмена
  1. $db_host = "login.mysql.host.ru";


вместо login нужно подставить свой, т.е походу так

PHP:
скопировать код в буфер обмена
  1. $db_host = "root.mysql.host.ru";

(Добавление)
PHP:
скопировать код в буфер обмена
  1. $db = mysqli_connect ($db_host, $db_user, $db_pass, $db_name) or die ("Невозможно подключиться к БД:".mysqli_error($db));

Ну это у нас будет прямое подключение, а этим кодом:
PHP:
скопировать код в буфер обмена
  1.  
  2. $query = "SELECT * FROM table";
  3. $result = mysql_query($query)
  4.  

мы выполняем выбор базы данных?
То есть я должен написать так:
PHP:
скопировать код в буфер обмена
  1.  
  2.     $db_host = "login.mysql.host.ru";
  3.     $db_name = "stats";
  4.     $db_user = "user";
  5.     $db_pass = "pass";
  6. mysqli_connect ($db_host, $db_user, $db_pass, $db_name) or die ("Невозможно подключиться к БД:".mysqli_error($link));
  7. $query = "SELECT * FROM table";
  8. $db = mysql_query($query)
  9.  

или я что-то путаю?

(Отредактировано автором: 17 Марта, 2014 - 17:17:53)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB