Човек не може да търси хеш на солена парола в база данни. За да изчислите хеша, се нуждаете от функцията password_hash(), както вече сте направили правилно във вашия израз за вмъкване.
// Hash a new password for storing in the database.
// The function automatically generates a cryptographically safe salt.
$hashToStoreInDb = password_hash($password, PASSWORD_DEFAULT);
За да проверите парола, първо трябва да търсите само по потребителско име (използва подготвена заявка, за да избегнете sql инжекция):
$sql = 'select * from admin where username = ?';
$db->prepare($sql);
$db->bind_param('s', $first);
Когато най-накрая получите съхранения хеш от базата данни, той може да бъде проверен по следния начин:
// Check if the hash of the entered login password, matches the stored hash.
// The salt and the cost factor will be extracted from $existingHashFromDb.
$isPasswordCorrect = password_verify($password, $existingHashFromDb);