0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 116

Lost connection to MySQL server during query

27.10.2011, 19:33. Показов 4412. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал скрипт, который обращается к удалённой странице через XML и кеширует все данные в MYSQL базу.
Скрипт состоит :
1. Подключение к базе данных.
2. Выборка из базы данных необходимого запроса.
3. Поиск на удалённом XML документе необходимой информации. (занимает от 20 до 250 секунд)
4. Запись в MYSQL базу данных этой информации.

Так вот возникает постоянная проблема
Lost connection to MySQL server during query
на 4 этапе при попытки записи, если 3.процесс занимает более 120* секунд.

Я делал между 3 и 4 этапом тестовые запросы, при этом подключение (mysql_connect) проходило нормально, а вот попытка выборки (mysql_select_db) базы данных приводит к "Lost connection to MySQL server during query", как и любые другие выборки.

Я даже в .htaccess засунул: php_value mysql.connect_timeout 250

[bold]Пожалуйста, подскажите путь решения данной проблемы![/bold]
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2011, 19:33
Ответы с готовыми решениями:

QSqlDatabase + OpenMP = Error: Lost connection to MySQL server during query
Добрый день! Возникает ошибка при использовании QSqlDatabase и OpenMP.

Lost connection to MySQL server at 'reading initial communication packet', system error: 111
Отправила сайт на хостинг при помощи Filezilla и базу данных импортировала на хостинг, в браузере ввожу адрес сайта, вместо сайта:...

Counter-Strike 1.6: "Connection to server lost during level change"
Проблема такова при играх на любом серваке вылетает из сервака с надписью "Connection to server lost during level change"...

9
7 / 8 / 6
Регистрация: 11.05.2008
Сообщений: 876
27.10.2011, 21:45
Ну так сделай после пункта 2 mysql_close() и открой соединение заново перед пунктом 4. Чтобы грабеж удаленного XML проходил при закрытом соединении.
Все нуждые данные из мускула вытащи до пункта 3.
Какие проблемы-то?

Представь, что у тебя одновременно запустятся 200 скриптов.
Что, думаешь, мускул тебя вообще не пошлет от такой засады?
0
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 116
30.10.2011, 13:23  [ТС]
webbyte в принципе у меня так и сделано, я забыл об этом упямянуть.
так что можно считать что ваш совет мне первый раз не помог вообще.
0
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
30.10.2011, 16:08
http://dev.mysql.com/doc/mysql/ru/gone-away.html
0
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 116
30.10.2011, 16:50  [ТС]
[italic]К сожалению, не помогает.[/italic]
0
7 / 8 / 6
Регистрация: 11.05.2008
Сообщений: 876
30.10.2011, 18:45
Гм. То есть ты закрываешь соединение, получаешь данные, обрабатываешь их, пытаешься запихать их в базу, но к ней не получается подсоединиться? Или получается, но при запросе (При INSERT''е, я думаю) коннект теряется?
0
7 / 8 / 6
Регистрация: 11.05.2008
Сообщений: 876
30.10.2011, 18:46
Код бы в студию. Хотя б основные повороты - блоками.
Интересубт только функции, относящиеся к mysql
Остальной код можно заменить комментариями.
0
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 116
30.10.2011, 23:25  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
include("./config.inc");
$db = mysql_connect("$db_host", "$db_user", "$db_pasw")
                or die("Unable to connect to sql server\n");
mysql_select_db("$db_name", $db) or die("Unable to select database\n");
 
# ищу задания для керирования из XML ресурса..
 
mysql_close() ;
 
# Выдираю нужное из  XML ресурса в двухмерный массив $arr
 
mysql_connect("$db_host", "$db_user", "$db_pasw")
                or die("Unable to connect to sql server  ".mysql_error()."\n");
 
mysql_select_db("$db_name", $db) or die("Unable to select database\n"); # Происходит ошибка соединения. Если обращение к XML ресурсу длилось более 120 екунд.
 
for($count=1; $count <= count($arr[1])-1; $count++ )   {
$name_en = $arr[2][$count];
$location= $arr[3][$count];
$transfer= $arr[4][$count];
$min= $arr[5][$count];
$max= $arr[6][$count];
 
$res = mysql_query("select `date` , `iata`,`name_en` from `hotel_cach` WHERE `date`=''$date'' and `iata`=''$iata'' and `days`=''$days''  and `room_type`=''$room_type''  and `name_en`=''$name_en''   ") or die("\nSQL error ".mysql_error()." in: $res ");
list($date11, $iata11, $name_en11) = mysql_fetch_row($res);
 
if ( ! $date11 and ! $iata11 and ! $name_en11 )  {
mysql_query ("insert into `hotel_cach`
        ( `date` , `date_index`, `iata`, `name`, `name_en` , `location` , `transfer`, `min`,`max`, `days`,`room_type` )
values  ( ''$date'',''$date_index'',''$iata'',''$name'',''$name_en'',''$location'',''$transfer'',''$min'',''$max'',''$days'',''$room_type'' )") or die("\nSQL error ".mysql_error()." in: $sql\n");   }
else { echo "\nЗаписи: ".$date." - ".$iata." - ".$name_en." уже есть в базе \n";  }
}
 
# Заношу в базу данных отметку о выполнении задания.
 
?>
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
31.10.2011, 11:54
По моему проблема в том что ты передаешь старое значение подключения (переменная $db) во втором вызове mysql_select_db
То есть ты делаешь следующее (упрощенно)
PHP
1
2
3
4
5
6
7
8
9
10
$db = mysql_connect("$db_host", "$db_user", "$db_pasw");
mysql_select_db("$db_name", $db);
...
mysql_close();
 
...
mysql_connect("$db_host", "$db_user", "$db_pasw");
mysql_select_db("$db_name", $db); <-- здесь используется старое значение $db
...
mysql_close();
Соответственно решение простое, второй вызов mysql_connect тоже должен инициализировать переменную $db

Во-первых, реши пользуешься ли ты везду значением которое возвращает mysql_connect или нет. И если да, то передавай его во все вызовы функций mysql_*. В том числе и в mysql_close.

Во-вторых, зачем ты передаешь значения переменных в кавычках?
PHP
1
mysql_connect("$db_host", "$db_user", "$db_pasw")
Зачем усложнять код и заставлять PHP делать лишнюю работу?
Пиши просто
PHP
1
mysql_connect($db_host, $db_user, $db_pasw)
Еще будет лучше заменить эти переменные на константы с помощью функции define
0
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 116
07.11.2011, 18:05  [ТС]
Мне помогло устранение кавычек в
mysql_connect("$db_host", "$db_user", "$db_pasw")
все остальные варианты решения проблем я уже пробовал.
Сейчас всё работает замечательно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.11.2011, 18:05
Помогаю со студенческими работами здесь

Network connection may be lost
&quot;network connection may be lost &quot; =такая ошибка . не знаю вообще откуда появилась все перестало работать. помогите

OpenGL message “lost connection” (реестр)
Вылетает из любой игры с таким сообщением: В представленной ссылке советуют увеличить какой-то таймаут... и приводят другую ссылку:...

Error accessing file. Network connection may be lost
Ситуация: база на Access локальная на домашнем компе, не связана ни с какими другими базами ни на Access, ни на SQL Server Сообщение...

'Connection to host lost' при работе апплета через http
Вечер добрый. Проблема с ServerSocket при вызове appleta через http Ситуация: пишу свой чат peer-to-peer, тоесть один...

Cannot establish connection to MySQL server: #1045 - Access denied for user: 'user_db@localhost' (Using password: YES)
Приветствую всех. При установке скрипта столкнулся с траблой, а именно, при заполнении полей на install.php, пишет: Cannot establish...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru