我正在尝试在我的计算机上安装OpenSIS,但是我收到错误"' faillog_time'的默认值无效。
我正在使用wampserver,我的生产站点在我的计算机上本地运行(localhost)。在我的安装文件夹中的index.php文件中找到以下代码。必须有一些我缺少的东西。谁有同样的问题,并解决这个问题?这是代码:
$faillog_time=date("Y-m-d h:i:s");
//DBQuery("INSERT INTO login_records (USER_NAME,FAILLOG_TIME,IP_ADDRESS,SYEAR,STATUS) values('$_REQUEST[USERNAME]','$faillog_time','$ip','$DefaultSyear','Failed')");
DBQuery("INSERT INTO login_records (USER_NAME,FAILLOG_TIME,IP_ADDRESS,SYEAR,STATUS) values('".optional_param('USERNAME','',PARAM_ALPHAEXT)."','$faillog_time','$ip','$_SESSION[UserSyear]','Failed')");
$max_id = DBGet(DBQuery("SELECT MAX(id) FROM login_records"));
$m_id= $max_id[1]['MAX'];
if($faillog_time)
DBQuery("UPDATE login_records SET LOGIN_TIME=FAILLOG_TIME WHERE USER_NAME='".optional_param('USERNAME','',PARAM_ALPHAEXT)."' AND ID='".$m_id."'");
答案 0 :(得分:2)
我在OpenSis 6.1中遇到了同样的错误。这是安装过程中的mysql数据库错误。在mysql.log中跟踪显示创建login_records表时出错:
发件人:install / OpensisSchemaMysqlInc.sql
CREATE TABLE login_records
(
syear numeric(5),
first_name character varying(100),
last_name character varying(100),
profile character varying(50),
user_name character varying(100),
login_time timestamp,
faillog_count numeric(4),
staff_id numeric(10),
id INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
faillog_time timestamp,
ip_address character varying(20),
status character varying(50),
school_id DECIMAL( 10 ) NULL,
`updated_by` varchar(255) DEFAULT NULL
)ENGINE=MyISAM;
失败发生在
faillog_time timestamp,
需要默认值的行。查看文件中的其他时间戳,它们设置为:
NOT NULL DEFAULT CURRENT_TIMESTAMP
所以我刚刚添加"默认current_timestamp"对它来说,重新安装并且工作正常。
faillog_time timestamp default current_timestamp,