2010-01-02 17 views
1

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

<?php 
$host = 'localhost'; 
$user = 'root'; 
$pass = ''; 
$db = 'databasename'; 

mysql_connect($host, $user, $pass) or die ("Database Not Connected"); 
mysql_select_db($db) or die ("Database Not Fount"); 

?> 

но база данных регулярно отсоединения и подключения через 30-40 минут .... пожалуйста, помогите мне, что происходит .....

+0

Как это самоотвод выражается? Вы получили сообщение об ошибке? Есть ли какое-либо управление сеансом? –

+0

", но база данных регулярно отключается и подключается через 30-40 минут" - Это утверждение не имеет большого смысла. Вы имеете в виду, что ваш клиентский скрипт PHP обычно работает более 30 минут? Является ли это специальной СУБД или это общий хост? Вы проверили файлы журнала СУБД? Какая конфигурация для клиента MySQL и СУБД? Сколько cnxns существует, когда оно начинает их отбрасывать? Работает ли MySQL на том же компьютере, что и PHP-код, или между ними существует межсетевой экран? Вы платите кому-то за предоставление/поддержку этой услуги? ... и еще 100 вопросов. C. – symcbean

ответ

3

Не забудьте закрыть соединение с mysql_close().

Слишком много соединений вызовет проблемы, которые могут объяснить ваши разъединения.

+0

Мне нужно закрыть соединение после каждого запроса ....... ?? –

+0

В конце вашего скрипта testkhan. – Sampson

+1

Из руководства (http://php.net/manual/en/function.mysql-close.php): Использование mysql_close() обычно не требуется, поскольку непостоянные открытые ссылки автоматически закрываются в конце выполнение скрипта. – naivists

1

Возможно, это проблема путаницы переменных. Ваше соединение и выбор db не следует путать с запросами, которые будут запущены позднее.

$conn = mysql_connect($host, $user, $pass) or die(mysql_error()); 
     mysql_select_db($db) or die(mysql_error()); 

$query = "SELECT id, username FROM users"; 

В этом примере $conn не будет использоваться для ссылки на что-либо, кроме моего ресурса. Мой запрос, запущенный позднее, будет известен как $query, чтобы не смутить себя.

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

mysql_close($conn); // note the importance of a unique variable here 
Смежные вопросы