以下是它的说法:
注意:只应通过引用传递变量 第20行的C:\ xampp \ htdocs \ login \ register.php
在第20行,我有
$stmt->bindParam(':password', password_hash($_POST['password'], PASSWORD_BCRYPT));
有人能帮助我吗?
答案 0 :(得分:2)
将哈希值存储在变量中,然后传递它。
$password = password_hash($_POST['password'], PASSWORD_BCRYPT);
$stmt->bindParam(':password', $password);
答案 1 :(得分:1)
避免在Statement#bindParam
中调用函数,其返回值不能作为参考传递。
尝试分离函数调用:
$pwd = password_hash($_POST['password'], PASSWORD_BCRYPT);
$stmt->bindParam(':password', $pwd);
有关通过引用传递值的更多信息:http://php.net/manual/en/language.references.pass.php
答案 2 :(得分:1)
bindParam的第二个参数是变量引用。由于无法引用函数返回,因此无法严格满足bindParam参数的需要。
$password = password_hash($_POST['password'], PASSWORD_BCRYPT);
$stmt->bindParam(':password', $password);
答案 3 :(得分:0)
您必须先将password_hash($ _ POST ['password']的值存储在变量($ pwd)中然后传递
$pwd = password_hash($_POST['password'], PASSWORD_BCRYPT);
$stmt->bindParam(':password', $pwd);
是的,它有效
它是PHP Regiter,Login,Logout脚本的一部分,可从以下链接获得:https://github.com/thedevdojo/php-login-script