Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Своя страница ошибки для MySQL error 
:(
    Опции темы
begin
Дата 14.4.2011, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Есть сайт на php+MySql, где база используется таким образом (при каждом запросе):
$db = mysql_connect($table_name,$dbuser,$pass);
mysql_select_db($db_name,$db);
//делаем запрос
mysql_close($db);
Каждый раз подключение/отключение необходимо, т.к. некоторые таблицы могут находится на разных физических серверах нашей базы данных.
Подскажите, как можно отловить возможную ошибку подключения к базе и, реагируя на нее, редиректить посетителей на особую страницу ошибок, наподобие "ошибка базы данных" (остальные страницы ошибок у нас есть и заданы в .htaccess)
Задача осложняется тем, что подключение к базе происходит не в каком-то одном конфиге, а во многих скриптах. Поэтому нужно какое-то просто внедряемое решение.  smile 
PM MAIL   Вверх
cia
Дата 14.4.2011, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: 4
Всего: 4



На самом деле лучше всётаки перенести подключение к базе данных в один файл (правда, я не знаю сколько таких подключений у вас) и избавиться от целой кучи возможных проблем. А ещё лучше завернуть подключение в класс, чтобы для каждого запроса к одному серверу не создавать отдельное подключение.
Способа отловить ошибку подключения легко и непринуждённо нет. Даже try не поможет.

PM WWW ICQ   Вверх
comcon1
Дата 16.4.2011, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: нет
Всего: 17



Цитата(cia @  14.4.2011,  00:24 Найти цитируемый пост)
Способа отловить ошибку подключения легко и непринуждённо нет. Даже try не поможет.

Поясните, плиз, что это значит?

Нельзя ли просто везде заменить mysql_connect на mysql__connect и еопределить функцию где-то в начале, что де, если она возвращает false - отдавать header-ом редирект на страницу mysqlerror_connect.html
(это конечно, при условии, что не выводятся буквы до коннектов. Но я думаю, так оно и есть, потому что оно всегда так)))

или вы имеете ввиду, что инногда mysql_connect возвращает не false, а коннекта все равно нет?


Это сообщение отредактировал(а) comcon1 - 16.4.2011, 23:17


--------------------
PM MAIL   Вверх
begin
Дата 19.4.2011, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



К сожалению, отдавать header-ом редирект на страницу mysqlerror_connect.html не получится - все таки у нас запросы происходят во многих местах построения каждой страницы.
PM MAIL   Вверх
Muerto
Дата 19.4.2011, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



begin, window.location/redirect parent.location и тп. Смотри в сторону javascript и редайректи, откуда угодно... есть ещё и meta

Это сообщение отредактировал(а) Muerto - 19.4.2011, 23:48


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1066 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.