Это очень плохой код. Только не в части password_verify, а в части выполнения SQL запроса.
Потому что
здесь можно залогиниться под кем угодно, без всякого пароля. Через SQL инъекцию.
Ну и плюс этот код будет выдавать ошибку, если пользователь с таким логином не найден.
Вот как
правильно проверять пароль с помощью mysqli:
$stmt = $db->prepare("SELECT * FROM user WHERE login = ?");
$stmt->bind_param("s", $login);
$stmt->execute();
$user = $stmt->get_result()->fetch_assoc();
if ($user && password_verify($password, $user['password']))
{
echo "valid!";
} else {
echo "invalid";
}
Здесь мы, во-первых, используем подготовленные выражения, а во-вторых, сначала проверяем, найден ли юзер с таким логином