PHP.SU

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


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

> Без описания
nilbug
Отправлено: 04 Июля, 2019 - 13:14:41
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Янв. 2009  
Откуда: kazan


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




использую соединение с нескольким БД, которые находятся на разных 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, то скрипт останавливается с Ошибка подключения к удаленному хосту. Как сделать, чтобы скрипт пытался подключиться к остальным, не прерывая скрипт?

(Отредактировано автором: 04 Июля, 2019 - 13:47:01)

 
 Top
andrewkard
Отправлено: 04 Июля, 2019 - 15:48:53
Post Id


Участник


Покинул форум
Сообщений всего: 1363
Дата рег-ции: Нояб. 2014  


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




У Вас нет обработки, если соединение установлено, т.е. поставьте в условие иначе
 
 Top
LIME
Отправлено: 04 Июля, 2019 - 19:32:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 10453
Дата рег-ции: Нояб. 2010  


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




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 не такой умный чтоб фэйловеры по массиву перебирать)


-----
DDD
 
 Top
nilbug
Отправлено: 04 Июля, 2019 - 21:36:57
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Янв. 2009  
Откуда: kazan


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




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 код заработал. до этого скрипт останавливался если первый попавшийся хост не был доступен.
 
 Top
Мелкий Супермодератор
Отправлено: 05 Июля, 2019 - 10:45:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 11850
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




set_error_handler наверное стоит.

ну и mysql_connect давно удалён уже.


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 05 Июля, 2019 - 18:18:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 10453
Дата рег-ции: Нояб. 2010  


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




ой не.

(Отредактировано автором: 05 Июля, 2019 - 18:19:19)



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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB