ログイン機能をつくっていた際に、何故かpassword_verifyが上手くいかなかったが、

create tableする際に、passwordの桁数が少なかったのが原因。
passwordを255にして
create table mail.users( username varchar(41) unique, password varchar(255) )
再度password_hashしたら、上手く機能しました。
<?php
session_start();
$mysqli = new mysqli('localhost', 'hoge', 'hogehoge', 'mail');
$status = "none";
if(isset($_SESSION["username"]))
$status = "logged_in";
else if(!empty($_POST["username"]) && !empty($_POST["password"])){
$stmt = $mysqli->prepare("SELECT password FROM users WHERE username = ?");
$stmt->bind_param('s', $_POST["username"]);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows == 1){
$stmt->bind_result($pass);
while ($stmt->fetch()) {
if(password_verify($_POST["password"], $pass)){
$status = "ok";
$_SESSION["username"] = $_POST["username"];
break;
}else{
$status = "failed";
break;
}
}
}else
$status = "failed";
}
?>
<h1>ログイン</h1>
<?php if($status == "logged_in"): ?>
<p>ログイン済み</p>
<?php elseif($status == "ok"): ?>
<p>ログイン成功</p>
<?php elseif($status == "failed"): ?>
<p>ログイン失敗</p>
<?php else: ?>
<form method="POST" action="login.php">
ユーザ名:<input type="text" name="username" />
パスワード:<input type="password" name="password" />
<input type="submit" value="ログイン" />
</form>
<?php endif; ?>