Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 116

Lost connection to MySQL server during query

27.10.2011, 19:33. Показов 4366. Ответов 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru