在时间戳中存储当前时间

在时间戳中存储当前时间

问题描述:

我想向当前系统添加一个新字段,即last_pwd_modified字段,每当用户想要更改其密码时,该字段将以db为单位存储当前时间戳。在时间戳中存储当前时间

我有一个问题调试了几个小时,因为last_pwd_modified字段不会将当前时间存储在数据库中,而且还会出现500(内部服务器错误)。我认为这可能是通过last_pwd_modified传递错误的方式,我尝试了其他几种传递方式但仍然失败的方式。

任何专家都可能指出什么似乎是我的代码中的问题。真的很感谢它,并提前感谢您的时间。

这里是我的模型

public function changePasswd($uid, $newpassword) { 
    $conditions=array(); 
    $modelData = array(
      'upwd' => sha1(strip_tags($newpassword)), 
      'uid' => $uid, 
      'last_pwd_modified' => "CURRENT_TIMESTAMP()" 
    ); 
    $this->save($modelData);  
} 

这里是我的控制器,它调用的函数

$this->users->changePasswd($uid,$ret_pwd); 

这里的线路是我的ViewModel

var changePassword = function() { 
    var $result = {}; 
     $.ajax({ 
      url: "users/changepwd", 
      type: "POST", 
      async: false, 
      data: $("#changePasswordID").serialize(), 
      success: function(result) { 
       $result = $.parseJSON(result); 
      } 
     }); 
    } 
+3

'CURRENT_TIMESTAMP'不带参数。 – mudasobwa 2014-11-24 09:55:09

+0

我试过这**'last_pwd_modified'=>“CURRENT_TIMESTAMP()”**首先仍然有相同的错误。也许你知道另一个原因? – lizzie288 2014-11-24 09:59:33

+0

我会设置内部mysql触发器的默认值。在表定义中:'CREATE TABLE .... LAST_MOD ... DEFAULT NOW()'。 – mudasobwa 2014-11-24 10:02:30

您需要使用UNIX_TIMESTAMPCURRENT_TIMESTAMP返回日期,如Y-m-d H:i:s。无参数使用UNIX_TIMESTAMP

此外,您的数据库库可以使用准备好的语句或转义。可能你不能使用mysql函数作为值。我想你可以试试'last_pwd_modified' => time()