PHP. password_verify всегда возвращает 0

Пишу форму авторизации, проверяю пароль с помощью password_verify(), но он всегда выводит false. Файл регистрации:

<?php
    ini_set("display_errors",1);
    error_reporting(E_ALL);

    // data acquisition
    $login = filter_var(trim($_POST['login']),
    FILTER_SANITIZE_STRING);

    $pass = filter_var(trim($_POST['pass']),
    FILTER_SANITIZE_STRING);

    // check data
    if(mb_strlen($login)<5 || mb_strlen($login)>90) {
        echo "Недопустимая длина логина";
        exit();
    } else if(mb_strlen($pass)<8) {
        echo "Пароль должен содержать не менее 8 символом";
        exit();
    }
    // password hashing
    $pass = password_hash($pass, PASSWORD_BCRYPT);

    $mysql = mysqli_connect('localhost:3306', 'root', '1234', 'privileged-users-bd');    

    $mysql->query("INSERT INTO `passwords` (`login`, `pass`) values ('$login', '$pass')") or die("Error");    
    $mysql->close;

    header('Location: /')
?>

Файл авторизации:

<?php
    mysqli_report(MYSQLI_REPORT_ALL ^ MYSQLI_REPORT_INDEX);

    $login = filter_var(trim($_POST['login']),
    FILTER_SANITIZE_STRING);
    $pass = filter_var(trim($_POST['pass']),
    FILTER_SANITIZE_STRING);

    // connection
    $mysqli = mysqli_connect('localhost:3306', 'root', '1234', 'privileged-users-bd');

    //get login
    $select_login = "select `login` from `passwords` where `login`='$login'";
    $result = mysqli_query($mysqli, $select_login);
    $user = $result->fetch_assoc();
    $row_cnt = $result->num_rows;

    // login verification
    if ($row_cnt == 0){
        echo 'Incorrect login.';
        exit();
    }

    // get password
    $select_password = "select `pass` from `passwords` where `login`='$login'";
    $result_hash = mysqli_query($mysqli, $select_password);
    $result= $result_hash->num_rows;

    if( $result == 0 ){
        echo 'непрошло';
        exit();
    } else {
        $hash = $result_hash->fetch_assoc()[`pass`];
    }

    // password verification
    if (password_verify($pass, $hash)) {
        //setcookie('user',$user['login'], time() + 3600, "/");
        echo 'correct';
    } else {
        echo 'Incorrect password.';
        exit();
    } 

    $mysqli->close();

   //header('Location: /');

?>

Ответы (1 шт):

Автор решения: Alex

господи, три дня мук новичка закончены, дурацкая ошибка в ковычках

 $hash = $result_hash->fetch_assoc()[`pass`];

следовало просто заменить на

$hash = $result_hash->fetch_assoc()['pass'];
→ Ссылка