Я хотел добавить новое поле в свою текущую систему - поле last_pwd_modified, которое будет хранить текущую временную метку в db всякий раз, когда пользователь хочет изменить свой пароль.Сохранение текущего времени в timestamp
У меня проблема с отладкой в течение нескольких часов с тех пор, как поле last_pwd_modified не сохранит текущее время в db, а также будет продолжаться 500 (Internal Server Error). Я думаю, что это может быть так, как прошлое 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);
}
});
}
'CURRENT_TIMESTAMP' не принимает аргумента. – mudasobwa
Я пробовал это ** 'last_pwd_modified' => "CURRENT_TIMESTAMP()" **, в первую очередь, все еще имея ту же ошибку. Может, вы знаете другую причину? – lizzie288
Я бы установил значение по умолчанию с помощью внутреннего триггера mysql. В определении таблицы: 'CREATE TABLE .... LAST_MOD ... DEFAULT NOW()'. – mudasobwa