Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
tikey

Ошибка синтаксиса команды в моде наград

Recommended Posts

C горем-пополам модуль наград был установлен (наверное надоел всем с ним).

Решение проблемы я сделал таким:

1. С mysql_tables.php снес строку

awards_upgrade_mid int(10) NOT NULL default '0',

2.

$SQL[] = "ALTER TABLE ibf_members ADD awards_cache MEDIUMTEXT NOT NULL";

заменил на

$SQL[] = "ALTER TABLE ibf_members ADD awards_cache MEDIUMTEXT NOT NULL;

После этого мод стал.

Но теперь ошибка другая:

Во время регистрации, после заполнения полей и нажатии кнопки "Зарегистрироваться":

Ошибка при работе с базой данных
Возникла проблема при работе с базой данных.
Вы можете попробовать обновить эту страницу, нажав сюда

 

Пояснения, кода ошибки нет. Только этот текст. В чем может быть проблема? :)

Мод не повлиял ли на работу регистрационки?

И еще, мод не распознает русского описания наград.

Edited by tikey

Share this post


Link to post
Share on other sites

Лог где?

В папке кэш ищите лог с номером ошибки.

Share this post


Link to post
Share on other sites

Затер предпост по неактуальности.

Вобщем на данный момент проблема такая:

 

Код:

 

<?php

$SQL[] = "CREATE TABLE ibf_awards_upgrade_history (
 awards_upgrade_id int(10) NOT NULL auto_increment,
 awards_version_id int(10) NOT NULL default '0',
 awards_version_human varchar(200) NOT NULL default '',
 awards_upgrade_date int(10) NOT NULL default '0',
 awards_upgrade_mid int(10) NOT NULL default '0',
 awards_upgrade_notes text NOT NULL,
 PRIMARY KEY  (awards_upgrade_id)
) TYPE=MyISAM AUTO_INCREMENT=1 ;";

$SQL[] = "CREATE TABLE `ibf_awards` (
 `aid` smallint(6) NOT NULL auto_increment,
 `mid` bigint(10) NOT NULL default '0',
 `cid` varchar(50) NOT NULL default '0',
 `awards_id` int(10) NOT NULL default '0',
 `mname` varchar(255) NOT NULL default '',
 `reason` text NOT NULL,
 `edit_time` int(10) NOT NULL default '0',
 `edit_mid` int(10) NOT NULL default '0',
 `add_mem_award_time` int(10) NOT NULL default '0',
 `comments` int(10) NOT NULL default '0',
 `comments_mail_last_send` int(10) NOT NULL default '0',
 PRIMARY KEY  (`aid`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;";

$SQL[] = "CREATE TABLE ibf_awards_info (
 id smallint(6) NOT NULL auto_increment,
 title varchar(100) NOT NULL default '',
 img varchar(100) NOT NULL default '',
 img_h int(10) NOT NULL default '0',
 img_w int(10) NOT NULL default '0',
 img_thumbnail varchar(100) NOT NULL default '',
 thumbnail_h int(10) NOT NULL default '0',
 thumbnail_w int(10) NOT NULL default '0',
 awards_status TINYINT( 1 ) NOT NULL DEFAULT '0',
 PRIMARY KEY  (id)
) TYPE=MyISAM AUTO_INCREMENT=1 ;";

$SQL[] = "CREATE TABLE `ibf_awards_comments` (
 `pid` int(10) NOT NULL auto_increment,
 `append_edit` tinyint(1) default '0',
 `edit_time` int(10) default NULL,
 `author_id` mediumint(8) NOT NULL default '0',
 `author_name` varchar(32) default NULL,
 `use_sig` tinyint(1) NOT NULL default '0',
 `use_emo` tinyint(1) NOT NULL default '0',
 `ip_address` varchar(16) NOT NULL default '',
 `post_date` int(10) default NULL,
 `comment` text,
 `approved` tinyint(1) default NULL,
 `award_id` int(10) NOT NULL default '0',
 `award_info_id` int(10) NOT NULL default '0',
 `edit_name` varchar(255) default NULL,
 PRIMARY KEY  (`pid`),
 KEY `award_id` (`award_id`,`author_id`),
 KEY `author_id` (`author_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;";


$SQL[] = "ALTER TABLE ibf_members ADD awards_dig INT(10) NOT NULL DEFAULT '0'";
$SQL[] = "ALTER TABLE ibf_members ADD awards_tracker TINYINT( 1 ) DEFAULT '1'";
$SQL[] = "ALTER TABLE ibf_members ADD awards_cache mediumtext not null default ''";
$SQL[] = "ALTER TABLE ibf_members ADD awards_notice_type VARCHAR(10) DEFAULT 'pm'";

$SQL[] = "ALTER TABLE ibf_members ADD awards_comments tinyint(1) default '1'";
$SQL[] = "ALTER TABLE ibf_members ADD awards_comments_notice tinyint(1) default '1'";

$SQL[] = "ALTER TABLE ibf_groups ADD can_access_awcp TINYINT( 1 ) DEFAULT '0'";
$SQL[] = "ALTER TABLE ibf_groups ADD g_awards_edit TINYINT( 1 ) DEFAULT '0'";
$SQL[] = "ALTER TABLE ibf_groups ADD g_awards_delete TINYINT( 1 ) DEFAULT '0'";

$SQL[] = "ALTER TABLE ibf_groups ADD g_awards_add_comments tinyint(1) NOT NULL default '0'";
$SQL[] = "ALTER TABLE ibf_groups ADD g_awards_has_comments tinyint(1) default '0'";
$SQL[] = "ALTER TABLE ibf_groups ADD g_awards_mod_comments tinyint(1) default '0'";
$SQL[] = "ALTER TABLE ibf_groups ADD g_awards_mod_own_comments tinyint(1) default '0'";


?>

 

При установке невозможно выполнить 2 запроса:

 

$SQL[] = "CREATE TABLE ibf_awards_upgrade_history (
 awards_upgrade_id int(10) NOT NULL auto_increment,
 awards_version_id int(10) NOT NULL default '0',
 awards_version_human varchar(200) NOT NULL default '',
 awards_upgrade_date int(10) NOT NULL default '0',
 awards_upgrade_mid int(10) NOT NULL default '0',
 awards_upgrade_notes text NOT NULL,
 PRIMARY KEY  (awards_upgrade_id)
) TYPE=MyISAM AUTO_INCREMENT=1 ;";

 

 

 

Причина 1 - неверный синтаксис

awards_upgrade_notes text NOT NULL.

 

=====

 

Причина 2 - неверный синтаксис

$SQL[] = "ALTER TABLE ibf_members ADD awards_cache mediumtext not null default ''";

 

Версия мускула моя:

C:\Users\Администратор>mysqladmin
mysqladmin Ver 8.42 Distrib 5.1.40, for Win32 on ia32
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

 

 

Что делать в этом случае?

Edited by tikey

Share this post


Link to post
Share on other sites

Кстати, лог ошибки на выполнения запроса вручную такой:

mysql> ALTER TABLE ibf_members ADD awards_cache mediumtext not null default '';
ERROR 1101 (42000): BLOB/TEXT column 'awards_cache' can't have a default value

 

Проблему решил так:

mysql> ALTER TABLE ibf_members ADD awards_cache mediumtext not null;

Т.е. убрал

default ''

.

 

Но как решить проблему номер раз?

Edited by tikey

Share this post


Link to post
Share on other sites

После установки мода проблемы с регистрацией. Лог:

 

Код ошибки: 1364
Сообщение сервера: Field 'awards_cache' doesn't have a default value
IP-адрес клиента: ---
Страница: /admin/index.php?adsess=765c0aa043f85b3e2448f1f8884e98f9
Запрос: INSERT INTO ibf_members (name,members_l_username,members_display_name,members_l_display_name,member_login_key,email,mgroup,posts,joined,ip_address,time_offset,view_sigs,coppa_user,email_pm,view_img,view_avs,restrict_post,view_pop,msg_total,new_msg,members_editor_choice,language,id) VALUES('123123123123123123','123123123123123123','123123123123123123','123123123123123123','61c58a23810f3592e38b9aeb70c40a06','123123123@ya.ru',3,0,1282834627,'109.87.140.2',3,1,0,1,1,1,0,1,0,0,'std','ru',12)

Подскажите, где добавить в запросе инфу awards_cache и где редактировать запрос регистрации в форуме самом.. Спасибо!

Edited by tikey

Share this post


Link to post
Share on other sites
Подскажите, где добавить в запросе инфу awards_cache и где редактировать запрос регистрации в форуме самом.. Спасибо!

./sources/action_public/register.php

Все запросы к БД делаются через класс $this->ipsclass->DB

Но сомневаюсь что это вам чем нибудь поможет.

Share this post


Link to post
Share on other sites

./sources/action_public/register.php

Все запросы к БД делаются через класс $this->ipsclass->DB

Но сомневаюсь что это вам чем нибудь поможет.

Ага проблема была в другом: синтаксис устновщика предполагал выполнить A

LTER TABLE ibf_members MODIFY awards_cache MEDIUMTEXT  NULL

, но не

ALTER TABLE ibf_members MODIFY awards_cache MEDIUMTEXT NOT  NULL default ''

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

Наконец то форум наград мне поддался всецело. Пишите, теперь готов сам помогать по нем. Можно в аську ломиться. :P

Отдельная благодарность L-7, за то что откликнулся даже по истечению актуальности вопроса.

Тему можно закрыть.

Edited by tikey

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...