Это происходит, когда user_id
не найден.
Обратите внимание, что функция getCurPassword
возвращает пользователя, если он найден (при проверке, если num_rows > 0
), но если он не найден, он возвращает NULL
.
Когда это происходит, $passwd
var равен null, поэтому вы не можете получить доступ к $passwd->password
.
. Вы можете решить эту проблему, изменив выражение if
на:
if($passwd && $passwd->password == $cur_password){
Отредактировано Попробуйте получить ваше имя пользователя как и затем вызвать с ним функцию getCurPassword
:
$user_name = $this->session->userdata('username');
$passwd = $this->queries->getCurPassword($user_name );
А в контроллере изменить функцию getCurPassword
на:
public function getCurPassword($user_name){
$query = $this->db->select('*')
->from('users')
->where('username', $user_name);
if($query->num_rows() > 0 ){
return $query->row();
}
}
Обратите внимание, что яПредположим, у вас есть столбец "username" в вашей базе данных