veritabanı kullanırken PDO kullanırsanız bu kadarına gerek kalmaz.

ÖR:

$pass = crypt($_POST["password"]); // tek yönlü çok güçlü şifreleme yöntemi
$user_id = 1;
$q = $db->pdo->prepare('SELECT pass FROM users WHERE id = :id');
$q->bindValue(':id', $user_id, PDO::PARAM_INT);
$q->execute();


Login Kontrolü

$password = $_POST["password"];
$username = $_POST["username"];

$pass_crypt = $db->query("SELECT pass FROM users WHERE username = '{$username}'")->fetch(PDO::FETCH_ASSOC);

if (crypt($password, $pass_crypt) == $pass_crypt) {
echo "Parola doğru!";
}


Kodları biraz aceleyle yazdım hata olabilir sen mantığına bak.