Ошибка MySQL при быстром переходе по линкам

findman

Новичок
Ошибка MySQL при быстром переходе по линкам

Подобная тема вроде бы как и обсуждалась уже, но так я и не понял как с этим бороться. Да и не было в принципе ответа.

Проблемма в следующем:

Сайт нормально работает и совершает запросы к БД. Но при быстрой навигации (переходы по ссылкам на сайте) вылетает ошибка:
Warning: mysql_query(): Access denied for user 'nobody'@'localhost' (using password: NO)
далее идёт номер строчки файла, где возникла ошибка.

И сразу же следующая закономерная уже ошибка:
mysql_query(): A link to the server could not be established ...

За соединение с БД отвечает функция:

function db_connect(){
$result_db = @mysql_pconnect('localhost', 'логин', 'пароль');
if (!$result_db) return false;
if (!@mysql_select_db('название БД')) return false;
return $result_db;
}

Где-то прочитал, что подобная функция может выдавать ошибки при запросе к MySQL версии выше 4.1.

Если одновременно к моей базе данных будет несколько запросов, то понятно, что эта ошибка будет постоянной.

Посоветуйте что делать?

-~{}~ 26.04.06 14:03:

Кстати, если после этой ошибки нажать рефрешь, то всё нормально работает.
 

440hz

php.ru
findman
1. есть мнение что надо юзать не pconnect а просто connect
2. при отладке убирать @ у тестируемых функций.
3. проверять возвращаемое имим значение и делать обработку ошибок пр надобности.
 

findman

Новичок
Спасибо 440hz .
mysql_connect действительно помог. Я так понял, что mysql_connect открывает соединение с БД только на время исполнения скрипта (автоматически его закрывает). А mysql_pconnect открывается на определённое время и поэтому запросто можно превысить лимит соединений к БД (что у меня и происходило).

Если с mysql_pconnect использовать принудительное закрытие соединения с БД после завершения скрипта, то эффект должен быть такой же , что и с mysql_connect?
 

Фанат

oncle terrible
Команда форума
если читать документацию на функции, которые ты используешь, эффект превзойдёт самые смелые ожидания.
 
Сверху