![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
begin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 415 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
Есть сайт на php+MySql, где база используется таким образом (при каждом запросе):
$db = mysql_connect($table_name,$dbuser,$pass); mysql_select_db($db_name,$db); //делаем запрос mysql_close($db); Каждый раз подключение/отключение необходимо, т.к. некоторые таблицы могут находится на разных физических серверах нашей базы данных. Подскажите, как можно отловить возможную ошибку подключения к базе и, реагируя на нее, редиректить посетителей на особую страницу ошибок, наподобие "ошибка базы данных" (остальные страницы ошибок у нас есть и заданы в .htaccess) Задача осложняется тем, что подключение к базе происходит не в каком-то одном конфиге, а во многих скриптах. Поэтому нужно какое-то просто внедряемое решение. ![]() |
|||
|
||||
cia |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 15.1.2007 Репутация: 4 Всего: 4 |
На самом деле лучше всётаки перенести подключение к базе данных в один файл (правда, я не знаю сколько таких подключений у вас) и избавиться от целой кучи возможных проблем. А ещё лучше завернуть подключение в класс, чтобы для каждого запроса к одному серверу не создавать отдельное подключение.
Способа отловить ошибку подключения легко и непринуждённо нет. Даже try не поможет. |
|||
|
||||
comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
Поясните, плиз, что это значит? Нельзя ли просто везде заменить mysql_connect на mysql__connect и еопределить функцию где-то в начале, что де, если она возвращает false - отдавать header-ом редирект на страницу mysqlerror_connect.html (это конечно, при условии, что не выводятся буквы до коннектов. Но я думаю, так оно и есть, потому что оно всегда так))) или вы имеете ввиду, что инногда mysql_connect возвращает не false, а коннекта все равно нет? Это сообщение отредактировал(а) comcon1 - 16.4.2011, 23:17 |
|||
|
||||
begin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 415 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
К сожалению, отдавать header-ом редирект на страницу mysqlerror_connect.html не получится - все таки у нас запросы происходят во многих местах построения каждой страницы.
|
|||
|
||||
Muerto |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
begin, window.location/redirect parent.location и тп. Смотри в сторону javascript и редайректи, откуда угодно... есть ещё и meta
Это сообщение отредактировал(а) Muerto - 19.4.2011, 23:48 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |