- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день!
На главной странице сайта и на всех внутренних страницах подгружаются последние 5 тем с форума VBulletin такой конструкции:
$base="*****";
$user="*****";
$pass="*****";
$host="*****";
$link = mysql_connect ($host, $user, $pass) or die ("Не могу соединиться");
mysql_select_db( $base, $link) or die ("Не могу выбрать базу");
$query = "SELECT threadid, title FROM thread LEFT JOIN user ON (thread.lastposter=user.username) ORDER BY dateline DESC LIMIT 5";
$result = mysql_query ($query, $link);
?>
<?
while ($row = mysql_fetch_array($result))
{
echo "<div><a href='forum/showthread.php?threadid=".$row['threadid']."'>".$row['title']."</a></div>";
}
?>
При падении всей БД MySQL у хостера или проблемами с мускулом, происходит интересная картина: сайт грузится только для этого места в коде страницы, выводится ошибка от мускула, а дальше загрузки не происходит страницы. Таким образом, при падении мускула, сайт просто не грузится вообще (т.к. этот код находится выше основного контента).
Вопрос: с этим можно как-то бороться по принципу "База данных не работает" или "Не могу соединиться" (как в коде выше)?
Заранее благодарен за ответы!
P.S. Проверка в коде выше как-будто есть, но она не работает...
nikitian, огромное спасибо! Этот код рабочий? Можно без проблем применять? ;)
Вроде рабочий - там изменений-то совсем мало. Проверьте, я писал из головы.
Нее, лучше то не использовать. Просто сделайте вот так (оно надёжнее + лучше)
Progr@mmer\. добавил 01.03.2008 в 23:30
Или даже так:
Не тестил, лучше сам проверь :)
Progr@mmer\., про надёжность вопрос спорный (используемые механизмы одни), имхо то же, вид сбоку. :)
У твоего примера нет @ у БД-функций, что чревато лишними ошибками :)
Гм.. а так не проще?
P.S. Web-Silver, если у хостера часто падает база - правкой кода проблему не решить, ибо форум жалко.
Что-то я запутался... Какой вариант брать? :)
Web-Silver, Если база нужна для главного сайта, то вы не только не сможете вывести последние сообщения форума, но и сгенерировать саму страницу главного сайта.
Если база для главного сайта не нужна, то берите код в котором нет die(...), как раз он завершает выполнение скрипта.
Первый не стоит - там действительно поползут ошибки, если только они не отключены на уровне настроек PHP.
Второй (глядя на код) вроде должен работать (т.е. алгоритм сам рабочий, если опечатки нет в коде, то работать будет).
Третий (мой) - также работает, но он прозрачнее и на 0,0000001% менее грузно, чем второй :)
Я бы третий рекомендовал 🚬
Добавлено:
Если база для главного сайта не нужна, то берите код в котором нет die(...), как раз он завершает выполнение скрипта.
В этом варианте есть один die но он не завершит выполнение скрипта, если база будет лежать, поскольку обрабатывает иное событие :)