我使用的是PHP 5.5.12,但我仍然可以
致命错误:调用未定义的函数
PASSWORD_DEFAULT()
这是为什么?对于PHP 5.5,不是PASSWORD_DEFAULT
吗?
public function addUser($un, $pass)
{
$password = password_hash($pass, PASSWORD_DEFAULT());
$sql = "insert into users (`username`, `password`) values ('$un', '$password')";
$result = mysqli_query($this->dbh,$sql) or die(json_encode(array('error' => 0,'errorMsg' => "MySQL query failed.")));
if(!$result)
{
}
else
{
echo json_encode(array(
'error' => 1,
'errorMsg' => "Registered."
));
}
}
答案 0 :(得分:3)
您收到错误是因为PASSWORD_DEFAULT
是常量,而不是函数。
另请参阅http://www.php.net/manual/en/password.constants.php和http://www.php.net/manual/en/function.password-hash.php
在您的代码中替换
$password = password_hash($pass, PASSWORD_DEFAULT());
与
$password = password_hash($pass, PASSWORD_DEFAULT);
答案 1 :(得分:2)
变化
$password = password_hash($pass, PASSWORD_DEFAULT());
到
$password = password_hash($pass, PASSWORD_DEFAULT);
这是一个常数而不是一个函数
了解更多信息: - http://docs.php.net/manual/en/function.password-hash.php