[Решено] Проблема с БД, завелся паразитный запрос.

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: Проблема с БД (завелся паразитный запрос)

Сообщение xisp »

Crelby писал(а):В принципе возможен вариант, что в php-файлах нет этого запроса в представленном виде,
Само собой. По крайней мере таблицы не в явном виде, иначе префиксы бы не работали.
phpBBex
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Не будет ли с моей стороны слишком большой наглостью попросить написать, как этот запрос мог бы выглядеть в php-файле?
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: Проблема с БД (завелся паразитный запрос)

Сообщение xisp »

Не могу знать.
phpBBex
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Sheer »

Crelby писал(а):phpmyAdmin создает запрос
SELECT f.forum_id, f.forum_name, t.topic_title, t.topic_time, t.topic_replies, t.topic_view
Ну начнем с того, что phpmyAdmin тут вообще не причем, а продолжим тем что это только часть запроса, ибо тут даже не указано, из каких таблиц осуществляется выборка.
Crelby писал(а): как этот запрос мог бы выглядеть в php-файле?
Да как угодно, запрос может быть построен динамически, например при помощи функции sql_build_query()
вот как-то так

Код: Выделить всё

		$sql = $db->sql_build_query('SELECT', array(
			'SELECT'	=> 'u.user_id, u.group_id as default_group, u.username, u.username_clean, u.user_colour, u.user_rank, u.user_posts, u.user_allow_pm, g.group_id, g.group_name, g.group_colour, g.group_type, ug.user_id as ug_user_id',

			'FROM'		=> array(
				USERS_TABLE		=> 'u',
				GROUPS_TABLE	=> 'g'
			),

			'LEFT_JOIN'	=> array(
				array(
					'FROM'	=> array(USER_GROUP_TABLE => 'ug'),
					'ON'	=> 'ug.group_id = g.group_id AND ug.user_pending = 0 AND ug.user_id = ' . $user->data['user_id']
				)
			),

			'WHERE'		=> $db->sql_in_set('u.user_id', array_unique(array_merge($admin_id_ary, $mod_id_ary)), false, true) . '
				AND u.group_id = g.group_id',

			'ORDER_BY'	=> 'g.group_name ASC, u.username_clean ASC'
		));
		$result = $db->sql_query($sql);
Поди догадайся сразу, что в резульате выйдет такой запрс

Код: Выделить всё

SELECT u.user_id, u.group_id as default_group, u.username, u.username_clean, u.user_colour, u.user_rank, u.user_posts, u.user_allow_pm, g.group_id, g.group_name, g.group_colour, g.group_type, ug.user_id as ug_user_id FROM (phpbb_users u CROSS JOIN phpbb_groups g) LEFT JOIN phpbb_user_group ug ON (ug.group_id = g.group_id AND ug.user_pending = 0 AND ug.user_id = 2) WHERE u.user_id = 2 AND u.group_id = g.group_id ORDER BY g.group_name ASC, u.username_clean ASC
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Sheer писал(а):phpmyAdmin тут вообще не причем
Я в курсе, просто запятая была не на месте. Поставил на место.

Ладно, я понял, что все непросто. Буду думать.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Sheer »

Crelby писал(а):все непросто
Да уж...
Попробуй развернуть форум на локальном компе и погонять.
Попробуй установить на сервере девственно чистый движек и подключить его к существующей базе и погонять.
Возможно выявится, что причина в каком-либо моде.
Кстати закралась мысль, а не произвести ли оптимизацию таблиц БД, авось поможет...
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Sheer писал(а):а не произвести ли оптимизацию таблиц БД
А проводил, конечно же.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Sheer »

Crelby писал(а): согласно "Процессам"
А согласно этим "Процессам" не видно, на какой странице проходить этот запрос?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Неа.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Sheer »

Печалька...
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Кажется, я нашел полный вариант запроса:

Код: Выделить всё

SET timestamp=1388611796;
SELECT  f.forum_id, f.forum_name, 
						t.topic_title, t.topic_time, t.topic_replies, t.topic_views, 
						p.post_id, p.post_time, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, 
						u.username, u.user_id 
				FROM phpbb3_forums f,phpbb3_topics t,phpbb3_posts p,phpbb3_users u 
				WHERE t.forum_id = f.forum_id 
					AND t.topic_status != 1 AND t.topic_approved = 1 
					AND p.post_approved = 1 
 					AND u.user_id = p.poster_id AND p.post_id = t.topic_last_post_id  
				ORDER BY p.post_time DESC
 LIMIT 100;
Знатоки, подскажите, что это и где хранится?
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: Проблема с БД (завелся паразитный запрос)

Сообщение xisp »

Ищите в модах, в стандартном движке подобного нет.
phpBBex
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Хмммм. Это rss.php. А ведь я отключил RSS, и стандартный и модовый. Увлекательно. Похоже придется деинсталлировать.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Sheer »

Crelby писал(а):что это и где хранится?
В смысле?
Это запрос осуществляет выборку из четырех таблиц: forums, topics, posts, и users, находит последние 100 сообщений (сортировка по времени сообщения ORDER BY p.post_time в порядке убыванияDESC
Ограничение: только одобренные сообщения, только одобренные темы. Выводится идентификатор форума, имя форума, заголовок темы, время создания темы, количество ответов, количество просмотров, идентификатор сообщения, время создания сообщения, заголовок сообщения, текст сообщения, битовое поле bb-кода, идентификатор bb-кода, ник автора сообщения и его идентификатор. Зачем - не знаю.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Sheer писал(а):В смысле?
Все уже, я нашел. Это rss.php из мода. Уже удалил мод.

Вернуться в «Поддержка phpBB 3.0.х»