Проблема с коннектом БД

Статус
В этой теме нельзя размещать новые ответы.

Maxxon

Новичок
Проблема с коннектом БД

Приветствую всех!
Ищу ответ на такой вопрос:
Есть база данных на отдельном сервере, обращаюсь к ней с сайта хостера по физическому адресу обычным mysql_connect. Однако, когда (а такое бывает нередко) сервер с БД недоступен, мне нужно заносить данные на свою локальную БД. Вот такая штука
PHP:
$SERVER1="IP адрес удаленной БД";
$USER1="user";
$PASSWD1="password";

$SERVER2="IP адрес локальной БД";
$USER2="user";
$PASSWD2="password";

if (!mysql_connect($SERVER1,$USER1,$PASSWD1))
{
  if (!mysql_connect($SERVER2,$USER2,$PASSWD2))
  {
    echo "Ошибка!";
  }
  else
  {
     mysql_select_db("локальная база данных");
     // итд
     mysql_close();
  }
}
else
{
 mysql_select_db("удаленная база данных");
 // итд
 mysql_close();
}
работет нормально, но пользователю на экран выдается предупреждение, если не удается подключиться к удаленной БД типа
"Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'IP адрес удаленной БД' (10060)".

Вопрос: можно ли избавиться от вылетания этого предупреждения без правки конфигурационных файлов (так как они недоступны)? Может есть более приемлимый вариант коннекта с БД?

-~{}~ 29.10.06 16:40:

Вопрос снят. Надо всего лишь поставить @ перед mysql_connect.
 

Maxxon

Новичок
Да, сообщение об ошибке должно выводиться для программиста. Но оно не должно смущать юзера, забредшего на сайт. Писать в журнал ошибок - это хорошая идея, спасибо.
Только вот как быть с этим: (цитирую)

"Системное сообщение об ошибке, выведенное в браузере хакеру (любой посетитель Вашего сайта потенциально может являться хакером), похоже на транспорант с надписью: «Взламывать здесь!». Хакер, вероятно, будет рад обработать ошибку вместо программиста"...?
 

tf

крылья рулят
Только вот как быть с этим: (цитирую)
читать статью до конца

http://phpclub.ru/faq/wakka.php?wakka=ErrorHandling&v=dbt#Faq
Автору этой статьи всё равно, есть в его коде собаки или нет в его коде собак, потому что автор этой статьи в начале каждого скрипта выполняет последовательность:
set_error_handler('_debug_handler');
ini_set("log_errors",1);
ini_set("error_log",'/var/www/popoff/writable/debug/error.log');
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху