Проблема с SUB SELECT - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы настройки и администрирования форумов IPB 2.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 3.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

mysql sub_select ошибка mysql ошибка бд
Страница 1 из 1
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

Проблема с SUB SELECT

#1 Пользователь не на сайте   SiZE 

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1
  • Регистрация: 26-Апрель 07
 

  Отправлено 31 Октябрь 2007 - 09:41

Цитата

===================================================
Date: Tue, 30 Oct 2007 12:49:39 +0300
Error Number: 0
Error:
IP Address: 86.109.196.238
SUB SELECT query joins are not allowed.
Add $this->ipsclass->DB->allow_sub_select=1; before any query construct to allow them
===================================================


Что удалось выяснить:

/ips_kernel/class_db_mysql_client.php

Цитата

//-----------------------------------------
// Stop sub selects? (UNION)
//-----------------------------------------

if ( !IPS_DB_ALLOW_SUB_SELECTS )
{
# On the spot allowance?

if ( ! $this->allow_sub_select )
{
$_tmp = strtolower( $this->remove_all_quotes($the_query) );

if ( preg_match( "#(?:/\*|\*/)#i", $_tmp ) )
{
$this->fatal_error( "You are not allowed to use comments in your SQL query.\nAdd \$this->ipsclass->DB->allow_sub_select=1; before any query construct to allow them" );
return false;
}

if ( preg_match( "#[^_a-zA-Z]union[^_a-zA-Z]#s", $_tmp ) )
{
$this->fatal_error( "UNION query joins are not allowed.\nAdd \$this->ipsclass->DB->allow_sub_select=1; before any query construct to allow them" );
return false;
}
else if ( preg_match_all( "#[^_a-zA-Z](select)[^_a-zA-Z]#s", $_tmp, $matches ) )
{
if ( count( $matches ) > 1 )
{
$this->fatal_error( "SUB SELECT query joins are not allowed.\nAdd \$this->ipsclass->DB->allow_sub_select=1; before any query construct to allow them");
return false;
}
}
}
}


Добавлял $this->DB->allow_sub_select=1;, перед $db_skin = $this->DB->simple_exec_query( array( 'select' =..., в файле source/ipsclass.php, откуда вываливается ошибка, не помогает :) Начинает вываливать вот что:

Цитата

mySQL query error: UPDATE ibf_members SET login_anonymous='&1', last_visit=last_activity, last_activity=1193812412, last_ip='86.109.196.238' WHERE id=18SELECT set_cache_css,set_cache_wrapper,set_cache_macro,set_image_dir,set_emoticon_folde
r,set_skin_set_id,set_name,set_css_method FROM ibf_skin_sets WHERE set_skin_set_id=2

SQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set_cache_css,set_cache_wrapper,set_cache_macro,set_image_dir,set_emoticon_f
olde' at line 1
SQL error code: 1064
Date: Wednesday 31st of October 2007 09:33:32 AM


Ошибка выпадает вот в каком случае: пользователь регистрируется, заходит, его авторизирует и вываливается ошибка. Те кто уже был зареган без проблем заходят :)
0

#2 Пользователь не на сайте   andaril 

 
 
  • -_-'
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 2 638
  • Регистрация: 24-Март 07
  • Откуда:Тат, Наб. Челны
  • IPB version:I have no IPB
 

Отправлено 31 Октябрь 2007 - 14:29

/ips_kernel/class_db.php

define( 'IPS_DB_ALLOW_SUB_SELECTS', 0 );

пробовали дать константе значение 1 ?
0

#3 Пользователь не на сайте   de_coder 

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1
  • Регистрация: 08-Июнь 07
  • IPB version:2.1.x
 

  Отправлено 22 Август 2008 - 19:57

Спасибо помогло мне!
0

#4 Пользователь не на сайте   andaril 

 
 
  • -_-'
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 2 638
  • Регистрация: 24-Март 07
  • Откуда:Тат, Наб. Челны
  • IPB version:I have no IPB
 

Отправлено 22 Август 2008 - 22:02

вообще я буквально месяца два-три назад столкнулся с таким же, при написании мода.

Ошибка оказалась банальной. Я пропустил важную часть в коде после запроса в БД, а именно
$this->ipsclass->DB->simple_exec();
если конечно мне не изменяет память. Так что советую проверить скрипт.
0

Сообщить об этой теме:


Страница 1 из 1
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

2 пользователей читают эту тему
0 зарегистрированных, 2 гостей, 0 скрытых


Контактная информация

Заказ дизайна форума

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2012 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна