' faillog_time'的默认值无效OpenSIS安装期间出错

时间:2016-11-15 08:20:59

标签: php

我正在尝试在我的计算机上安装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."'");

1 个答案:

答案 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,