PHP - password_verify Problem

Ich habe über 2 Stunden lang meinen Kopf darauf gekratzt. Ich habe Artikel über Stackoverflow recherchiert, darunter:

Problem mit Bcrypt, das nicht richtig überprüft

php password_hash und password_verify stimmen nicht überein

Der Aufruf `password_verify` gibt false zurück, um das korrekte Passwort zu erhalten

Und ich konnte mein Problem nicht beheben. Ich würde mich über eine Anleitung freuen, wie sehr ich ein Idiot bin:

Funktion zum Einfügen von Daten in die MySQL-Datenbank:

function insertUser($userObj) {
    $query = $this->databaseConnection->getStntPrepare()->prepare(
            "INSERT INTO user(username, userpassword) VALUES (?,?);");
    $username = $userObj->getUsername();
    $password = password_hash('testing1234', PASSWORD_BCRYPT);

    $query->bind_param('ss', $username, $password);
}

Überprüfung der Benutzeranmeldung durch Abrufen von Daten aus MySQL:

function findUser($userObj) {
    $query = $this->databaseConnection->getStntPrepare()->prepare(
            "SELECT userid, userpassword 
                FROM user 
                WHERE username=?");

    $pass = 'testing1234'
    $query->bind_param('s', $userObj->getUsername());
    $query->execute();
    $query->bind_result($userid, $hash);

    while ($query->fetch()) {

        if (password_verify($pass, $hash)) {
            echo 'Password is valid!';
        } else {
            echo 'Invalid password.';
        }
    }
}

Beim Ausführen erhalte ich "Ungültiges Passwort".

Wenn ich das Folgende mache, ohne es in die Datenbank einzufügen, dann rufe ich Folgendes ab:

$hash = password_hash('testing1234', PASSWORD_BCRYPT);
if (password_verify('testing1234', $hash)) {
    echo 'Password is valid!';
} else {
    echo 'Invalid password.';
}

Ich bekomme 'Passwort ist gültig!'

Ich glaube, mein Problem hat etwas mit einfachen und doppelten Anführungszeichen und der Interpretation des Dollarzeichens ($) im Passwortfeld zu tun, als Variable statt als Literal (wie in einem Artikel vorgeschlagen) beim Speichern / Abrufen aus der MySQL-Datenbank Ich hatte kein Glück bei der Lösung. Unten ist der Hash-Wert von "testing1234":

$ 2y $ 10 $ 1 / oQEuYX67n.U3usxH.7tenNq7hT2dKyBSIZsy5xR3W

Antworten auf die Frage(1)

Ihre Antwort auf die Frage