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. nilbug - 04 Июля, 2019 - 13:14:41 - перейти к сообщению
использую соединение с нескольким БД, которые находятся на разных host'ах:

PHP:
скопировать код в буфер обмена
  1. $link = mysqli_connect($array[$i], $myUser, $myPassword, $myDB);
  2. if (!$link)
  3. {
  4. echo 'Ошибка подключения';
  5. }
  6.  


где $array[$i] = {192.168.0.1, 192.168.0.2, 192.168.0.3... }

Сложность в том, что если хотя бы 1 хост не доступен, например 192.168.0.2, то скрипт останавливается с Ошибка подключения к удаленному хосту. Как сделать, чтобы скрипт пытался подключиться к остальным, не прерывая скрипт?
2. andrewkard - 04 Июля, 2019 - 15:48:53 - перейти к сообщению
У Вас нет обработки, если соединение установлено, т.е. поставьте в условие иначе
3. LIME - 04 Июля, 2019 - 19:32:50 - перейти к сообщению
nilbug пишет:
не прерывая скрипт
так он здесь и не прерывается
код не полный
andrewkard пишет:
break;
боюсь там как-раз наоборот
нипанятна
(Добавление)
nilbug пишет:
$array[$i] = {192.168.0.1, 192.168.0.2, 192.168.0.3... }

может всетаки
PHP:
скопировать код в буфер обмена
  1. $array = [192.168.0.1, 192.168.0.2, 192.168.0.3... ];
?
насколько мне известно mysqli_connect не такой умный чтоб фэйловеры по массиву перебирать)
4. nilbug - 04 Июля, 2019 - 21:36:57 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0; $i<count($checkbox); $i++)
  3.         {
  4.         $link = mysql_connect($checkbox[$i], $myUser, $myPassword, $myDB);
  5.         if (!$link)
  6.                 {
  7.                         echo " Ошибка соединения ";
  8.                 }
  9.         else
  10.                 {
  11.                 }
  12.         }
  13.  

полный код такой. видимо проблема была с кэшом или чем-то другим. так как после того как в mysql_connect прописал @mysql_connect код заработал. до этого скрипт останавливался если первый попавшийся хост не был доступен.
5. Мелкий - 05 Июля, 2019 - 10:45:22 - перейти к сообщению
set_error_handler наверное стоит.

ну и mysql_connect давно удалён уже.
6. LIME - 05 Июля, 2019 - 18:18:29 - перейти к сообщению
ой не.

 

Powered by ExBB FM 1.0 RC1