Перейти к контенту
  • 0

Проблема с кнопкой ( Администрация )


Immortal

Вопрос

На главной странице находится кнопка Администрация, при нажатии н а неё должно выводиться список админов и модеров форума, у меня на пфоруме, прит нажатии на неё, выдаёт ошибку с МайСикул, кто знает - подскажите как поступить..
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Однако, добавлю (не стал создавать новую тему).

Аналогичная проблема - намедни заменил mySQL на 4.1 версию, и вот что стало выдаваться на линке Администрация:

mySQL query error: SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number,

                        f.id as forum_id, f.read_perms, f.name as forum_name, c.state

                 FROM ipbmoderators mod

                   LEFT JOIN ipbforums f ON(f.id=mod.forum_id)

                   LEFT JOIN ipbcategories c ON(c.id=f.category AND c.state != 0)

                   LEFT JOIN ipbmembers m2 ON (mod.member_id=m2.id)

                

 

mySQL 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 'mod

                   LEFT JOIN ipbforums f ON(f.id=mod.forum_i

mySQL error code:

Date: Monday 22nd of November 2004 09:19:04 PM

Не очень понимаю, в чем проблемс. Точнее, понимаю, что с синтаксисом, но не понимаю, где :D И почему раньше было ОК, а теперь - синтаксис - что ж это - обратной совместимости mySQL не поддерживает теперь ????

 

P.S. Что то смущает меня этот странный пробел между ON и ().

LEFT JOIN ipbmembers m2 ON (mod.member_id=m2.id)

Доберусь до форума - проверю....

 

 

Нет, не влияет однако ;) Ошибка остается...

Есть идеи ?

Изменено пользователем Angus2
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Прошу прощения за подъем. Но факт остается фактом - сам код не менялся (файл stats.php идентичен исходному).

Но сия ошибка продолжает отображаться.

На сервере менялся mySQL на версию 4.1 (с 4.0 какой то).

Похоже, стало происходить проблема как раз после данной замены.

 

Помогите ? :D

 

 

P.S. Или как можно по-другому переписать кусок данного кода без LEFT JOIN чтобы тинтаксис изменить ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Наверно в 4-ом мускуле появилась ф-ия MOD (нахождение остатка от деления), поэтому алиас mod мускул воспринимает за за ф-ию. Попробуй mod заменить на m.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Наверно в 4-ом мускуле появилась ф-ия MOD (нахождение остатка от деления), поэтому алиас mod мускул воспринимает за за ф-ию. Попробуй mod заменить на m

верно, так и есть.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Именно :D

Было такое подозрение - поиск по мануалу показал что в версии, начиная с 4.x появилась функция MOD, соответственно, это слово стало зарезервированным...

Значит, у меня 3-ий mySQL стоял раньше ;)

 

Все, исправил в двух БЛОКАХ упоминание *mod* на другой алиас - и все работает :)

 

Спасибо !

 

P.S. Кстати, может это и можно добавить к страничке Глюков IPB 1.3.x :)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Все, исправил в двух БЛОКАХ упоминание *mod* на другой алиас - и все работает

Лично мне это не помогло (1.3.1). Исправлял в файле stats.php в двух местах в первой строке этого куска:

FROM ibf_moderators mod
                      LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

mod на m и на mod13.

Получаю уже другую ошибку:

mySQL query error: SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number,
                        f.id as forum_id, f.read_perms, f.name as forum_name, c.state
                 FROM ibf_moderators mod13
                   LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)
                   LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)
                   LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id)

mySQL error: Unknown table 'mod' in on clause
mySQL error code:

 

Что я делаю неправильно?

Спасибо.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id)

И что?

Такая строка встречается только один раз в файле stats.php.

Поменял выделенную часть - такая же фигня. Или надо менять везде mod.* и во всех файлах (что мне кажется более логичным)?

Простите конечно за наглость, но вы либо толком объясните, либо вообще не отвечайте на моё письмо, а то какими-то намёками пишите.

Если б я шарил в SQL я б здесь и не спрашивал ничего.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

malik

нет, надо только в этом запросе. Поменять mod на твой новый алиас.

Ты спрашиваешь почему ошибка. Я тебе показал болдом почему.

Добавлено в [mergetime]1102689609[/mergetime]

    LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

                LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)

                LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

malik

ну так что ты замолчал? Али получилось? :D

В следующий раз хорошенько подумай прежде чем писать строчки типа этих:

Простите конечно за наглость, но вы либо толком объясните, либо вообще не отвечайте на моё письмо, а то какими-то намёками пишите.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

Согласен, погорячился я. Просто толком не понятно где и что надо поменять.

Да, только что получилось - зацените разницу в изменениях.

 

Вот последняя рекомендация:

    LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

                  LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)

                  LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id)

 

А вот что я сделал:

      FROM ibf_moderators md1

               LEFT JOIN ibf_forums f ON(f.id=md1.forum_id)

               LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)

               LEFT JOIN ibf_members m2 ON (md1.member_id=m2.id)

 

     FROM ibf_moderators md1

       LEFT JOIN ibf_forums f ON(f.id=md1.forum_id)

       LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)

       LEFT JOIN ibf_members m ON ((md1.is_group=1 and md1.group_id=m.mgroup))

 

С меньшим кол-вом изменений работать отказывалось.

 

П.С. Не отображаются как надо коды B внутри кода CODE, пришлось цитатой размещать.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

malik

да какая разница на что менять? хоть на md, хоть на m, хоть на md1, хоть на m1, да на что хочешь. Главное чтобы не совпадало с другими алисами.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

Внимательно прочитай мой предыдущий пост и посмотри что ты мне советовал и что на самом деле пришлось исправить. Только не надо говорить, что эти исправления и так подразумевались.

Вот поэтому я долго тут и пытался выяснить что конкретно надо было исправить.

 

По теме говорить больше не о чем, предлагаю топик закрыть.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

malik

ну так это логично ж )

какой ж ты админ если ты не в курсе как SQL запросы составляются )

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

ну так это логично ж )

Кстати да. Нужно было просто внимательно читать сообщение об ошибке и самому пытаться исправить, а не искать готовый ответ на форуме :-) Всё неверие в собственные силы :-)

 

какой ж ты админ если ты не в курсе как SQL запросы составляются )

Как раз по админской деятельности с SQL плотно не работал, в основном сетевые вопросы.

Вот как раз и отличный полигон для тренировки в SQL и PHP, а то до недавнего времени, с 1998 года, был движок ruboard - Перл и текстовые файлики - минимум заморочек :-)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

У меня такая же проблемА, я читаю весь топик в десятый раз и непойму что на что менять :D[1113748824:1113749236]ага. понял. Заменил все mod на md1.

Павильно?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Thorn,

обрати внимание на строку выше:

да какая разница на что менять? хоть на md, хоть на m, хоть на md1, хоть на m1, да на что хочешь. Главное чтобы не совпадало с другими алисами.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Блин, а у меня вообще ничего не получается. Ни так, ни сяк.

И на md1 менял и просто m, все равно выдает ошибку.. (1.3 Final) MySQL - 4.1

 

mySQL query error: SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number,

                        f.id as forum_id, f.read_perms, f.name as forum_name, c.state

                FROM ibf_moderators md1

                  LEFT JOIN ibf_forums f ON(f.id=md1.forum_id)

                  LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)

                  LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id)

               

 

mySQL error: Unknown table 'mod' in on clause

mySQL error code:

Date: Wednesday 20th of April 2005 08:29:22 PM

 

Пожалуйста напишите поподробнее, что нужно сделать?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Простите, если что не догоняю. Но вот таже проблема, только не с кнопокой "Администрация", а с кнопкой "Сообщить модератору". Так же перешел с 3-го мускула, на четвертый. Изменения в stats.php сделал, не помогло.

mySQL query error: SELECT m.name, m.email, mod.member_id FROM ibf_moderators mod, ibf_members m WHERE mod.forum_id='18' and mod.member_id=m.id

mySQL 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 'mod, ibf_members m WHERE mod.forum_id='18' and mod.member_id=m.id' at line 1
mySQL error code: 
Date: Friday 17th of June 2005 11:45:30 AM

 

Где он находит этот - mod.forum_id='18', не пойму никак.[1118990875:1118994321]Сорри, уже нашел. Это в contact_member.php.

Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.