powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Код перестаёт вносить данные в БД, если долго выполняется.
7 сообщений из 7, страница 1 из 1
Код перестаёт вносить данные в БД, если долго выполняется.
    #38756926
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой код.
Код: 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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
<?php //error_reporting(0);

include ('b-d.php');

$regulyar_slova = "/^([а-яё\s\-]+)$/iu";

$n = 206;
for($n; $n <= 210; $n++)
{
	sleep(2);
	$kod_straniczy = file_get_contents('http://sajt.com/'.$n);
	preg_match_all("/<a href=\"\/search\/images\/.*<\/a>/", $kod_straniczy, $stroka);
	$stroka = $stroka[0];

	for($i=0; $i<count($stroka); $i++)
	{
		$stroka[$i] = preg_replace("/<\/a>/", "", $stroka[$i]);
		$stroka[$i] = preg_replace("/<.*>/", "", $stroka[$i]);
		if(preg_match($regulyar_slova, $stroka[$i]))
		{
			$stroka_kir[$i] = $stroka[$i];
			}
		}
	if(count($stroka_kir) > 0)
	{
		$stroka = array_values(array_unique($stroka_kir));
		}
		//var_dump($stroka);
//		var_dump($stroka_kir);
////////////////////////////////////////////////////////////////////////////////////////////////////
	if(count($stroka) > 0)
	{
		$vr_nabora = time();
		$ses = session_id();
		
		mysql_query("  
		INSERT INTO `tn` (`vr`, `ses`)  
		VALUES ('".$vr_nabora."', '".$ses."')
		");
		
		for ($i = 0;$i < count($stroka);$i++)
		{
			mysql_query("  
			INSERT IGNORE INTO `ts` (`s`)
			VALUES ('".$stroka[$i]."')
			");
			mysql_query("  
			INSERT INTO `t_s` (`id_n`, `id_s`)  
			VALUES ((SELECT `idn` FROM `tn` WHERE `vr` = '".$vr_nabora."' AND `ses` = '".$ses."'),  
					(SELECT `ids` FROM `ts` WHERE `s` = '".$stroka[$i]."'))  
			");
			}
		}
		
	print_r($n);
	echo ("<br>");
	print_r($stroka);
	echo ("<hr>");
	unset(
	$kod_straniczy,
	$stroka,
	$stroka_kir);
	}
?>


Если цикл выполняется немного раз, всё заносится в БД, а если зашпиндорить ему интервал в 1000, то на странице принты выводятся, а в БД нихрена не пишет.
В чём дело может быть? И почему принты выводит не последовательно, а порциями?
...
Рейтинг: 0 / 0
Код перестаёт вносить данные в БД, если долго выполняется.
    #38756950
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkзашпиндоритьНу и словечко! Сами придумали?

andrejkинтервал в 1000, то на странице принты выводятся, а в БД нихрена не пишетМускуль закрывает соединение, а вывод ошибок отключен. Как вариант, конечно. Хотя, вообще то, PHP должен бы востанавливать коннект. Других мыслей нет пока.

andrejkИ почему принты выводит не последовательно, а порциями?А что, эти "порции" выводятся параллельно чтоль? ;-) Если имеете в виду вывод не в реальном времени (с задержкой), то это объясняется работой выходного буфера PHP. Нужно в реальном времени - делайте принудительный сброс буфера.
...
Рейтинг: 0 / 0
Код перестаёт вносить данные в БД, если долго выполняется.
    #38757068
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как сделать принудительный сброс дампа?
...
Рейтинг: 0 / 0
Код перестаёт вносить данные в БД, если долго выполняется.
    #38757069
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тфу, буфера… ))
...
Рейтинг: 0 / 0
Код перестаёт вносить данные в БД, если долго выполняется.
    #38757085
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Куда прописать flush()?
...
Рейтинг: 0 / 0
Код перестаёт вносить данные в БД, если долго выполняется.
    #38757396
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В код
...
Рейтинг: 0 / 0
Код перестаёт вносить данные в БД, если долго выполняется.
    #38757397
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там где надо сбросить буфер
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Код перестаёт вносить данные в БД, если долго выполняется.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]