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
Форумы портала PHP.SU :: Версия для печати :: Удалённое подключение к бд
Форумы портала PHP.SU » Серверное администрирование » Администрирование БД » Удалённое подключение к бд

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

1. SlFomin - 16 Марта, 2014 - 17:36:59 - перейти к сообщению
Я пытался написать счётчик посещений для сайта, коряво, но вышло. Но работало только на локальной машине потому что у хостера нельзя подключаться напрямую к бд.
Вроде всё описал теперь суть как мне сделать удалённое подключение к хосту типа 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 ("Невозможно подключиться к БД");
2. KingStar - 16 Марта, 2014 - 17:53:10 - перейти к сообщению
на удаленном сервере нужно разрешить внешнее подключение
3. SlFomin - 16 Марта, 2014 - 17:55:15 - перейти к сообщению
KingStar пишет:
на удаленном сервере нужно разрешить внешнее подключение

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



использовать IP удаленного сервера
(Добавление)
если нет возможности изменить, то либо стоит обратится в службу техподдержки для вкл данной опции (т.к. она по умолчанию откл), либо отказаться от этой идеи и использовать подключение на самом сервер
5. SlFomin - 16 Марта, 2014 - 18:01:17 - перейти к сообщению
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.  

но т.к. я плохо ещё понимаю это то я не знаю как мне используя пример ТП запихать это к себе
6. KingStar - 16 Марта, 2014 - 18:06:37 - перейти к сообщению
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));
7. SlFomin - 16 Марта, 2014 - 18:12:28 - перейти к сообщению
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
Невозможно подключиться к БД
8. KingStar - 16 Марта, 2014 - 18:48:26 - перейти к сообщению
думаю в переменной

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));
9. SlFomin - 17 Марта, 2014 - 08:45:44 - перейти к сообщению
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.  

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

 

Powered by ExBB FM 1.0 RC1