Я пытаюсь узнать, поэтому, пожалуйста, простите меня за то, что должно быть очевидным ответ:Выберите значение из таблицы в MySQL
Попытки сравнить пароль на БД в поле «старый пароль», но это не было сравнение, как верно, так что, когда я печатаю пароль я получаю из БД я получаю:
Array ([0] => stdClass Object ([password] => 7ed5a78c36a55c07c26469345a00609b))
вместо только значение пароля, которое было бы то, что я хотел бы сравнить с пользователем ввод для старого пароля.
Я его так:
function edit_member($user_info, $old_pass)
{
$id_user = $this->session->userdata('id_user');
$user_pass = $this->db->query("SELECT password FROM membros WHERE id_user='" . $id_user . "'")->result();
if (md5($old_pass) == $user_pass) {
$this->db->where('id_user', $id_user);
$this->db->update('membros', $user_info);
redirect('/cpanel');
} else {
//redirect('/edit_account/edit');
print_r("A password não coincide");
echo anchor('/cpanel', 'Voltar');
Ваш сохраненный пароль, кажется, зашифрован с помощью md5, поэтому он никогда не будет соответствовать вашему предоставленному паролю. Вам необходимо зашифровать предоставленный пароль, а также md5, а затем сопоставить эту строку со строкой пароля базы данных. –
попробовать md5 ($ old_pass) == $ user_pass [0] -> пароль –
@ Gokul Shinde Но вот почему я "md5 ($ old_pass) == $ USER_PASS" $ old_pass является ввод от пользователя, где $ user_pass - это то, что я извлекаю из db - не следует ли это шифровать значение, которое вводит пользователь, а затем сравнить его с зашифрованным значением из db? – Baya