Php 返回假CodeIgniter的回调函数

Php 返回假CodeIgniter的回调函数,php,codeigniter,callback,Php,Codeigniter,Callback,为什么我的代码在回调代码的if条件中返回false。我试着把他们的每一个价值观和 下面是var_转储的输出 var_dump($old_password_hash); = string(32) "25d55ad283aa400af464c76d713c07ad" var_dump($old_password_db_hash); = object(stdClass)#24 (1) { ["user_password"]=> string(32) "25d55ad283aa400af464c7

为什么我的代码在回调代码的if条件中返回false。我试着把他们的每一个价值观和

下面是var_转储的输出

var_dump($old_password_hash); = string(32) "25d55ad283aa400af464c76d713c07ad"
var_dump($old_password_db_hash); = object(stdClass)#24 (1) { ["user_password"]=> string(32) "25d55ad283aa400af464c76d713c07ad" }
如果($old\u password\u hash!=$old\u password\u db\u hash){

这是我的全部代码

public function oldpassword_check($old_password){
    $id = $this->input->post('userid');

    $old_password_hash = md5($old_password);
    $old_password_db_hash = $this->prof_model->fetch_pwrod($id);

    //var_dump($old_password_hash);

    var_dump($old_password_db_hash);

    if($old_password_hash != $old_password_db_hash) {

        $this->form_validation->set_message('oldpassword_check', 'Old password not match');
        return FALSE;

    } else {

        return TRUE;

    } 

}

$old\u password\u hash
是一个字符串

$old\u password\u db\u hash
是一个对象

它们将永远不相等。
string
永远不相等
object

这就是为什么
$old\u password\u hash!=$old\u password\u db\u hash
总是true。因此会返回
FALSE

正确的检查是:

// take `user_password` property of an object
if ($old_password_hash != $old_password_db_hash->user_password) {
  $this->form_validation->set_message('oldpassword_check', 'Old password not match');
  return FALSE;
}
else {
  return TRUE;
}

你能给我解释一下吗,先生。你是怎么把这个对象变成字符串的?我没有。我取而代之的是一个对象的属性。还有属性(
user\u password
)也有类型字符串。我希望您没有将md5用于任何需要安全性的内容使用此用于密码哈希和密码验证您的md5现在不安全不建议用于密码