只有变量应该通过引用传递..需要一些帮助:)(PHP)

时间:2017-02-15 10:26:00

标签: php

以下是它的说法:

  

注意:只应通过引用传递变量   第20行的C:\ xampp \ htdocs \ login \ register.php

在第20行,我有

$stmt->bindParam(':password', password_hash($_POST['password'], PASSWORD_BCRYPT));

有人能帮助我吗?

4 个答案:

答案 0 :(得分:2)

将哈希值存储在变量中,然后传递它。

$password = password_hash($_POST['password'], PASSWORD_BCRYPT);
$stmt->bindParam(':password', $password);

更多参考:http://php.net/manual/en/pdostatement.bindparam.php

答案 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