以时间戳形式存储当前时间

Storing current time in timestamp

本文关键字:时间 存储 时间戳      更新时间:2023-09-26

我想向当前系统添加一个新字段,一个last_pwd_modified字段,每当用户想要更改密码时,该字段都会将当前时间戳存储在数据库中。

我在调试几个小时时遇到了问题,因为 last_pwd_modified 字段不会将当前时间存储在 db 中,并且还会不断发生 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);

这是我的观点模型

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

你需要使用 UNIX_TIMESTAMP . CURRENT_TIMESTAMP返回日期,如 Y-m-d H:i:s .使用UNIX_TIMESTAMP不带参数。

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