php password_verify () hash y pass no coincidirán

Guardo mis contraseñas en mi base de datos hash con password_hash (), y estoy tratando de verificar las contraseñas al iniciar sesión con password_verify (). Por alguna razón, password_verify () sigue devolviendo false.

Leí la documentación sobre esta función y decía para asegurarme de que el hash utilizado en la función está entre comillas simples '' de lo contrario leerá el hash como si fueran tres variables debido a los $ 's, así que intenté escribir $ valid como este '$ válido'. Pero eso no funcionó.

Cuando echo $ valid la salida es $ 2y $ 10 $ zzZCN7UlukvY2skb3ELVp.4y3Oc7NJTEsFyqdstqYxT

Cuando echo $ check, la salida es 123, que es la contraseña utilizada para crear la cuenta.

Esta es la parte de mi login.php, y aquí es donde creo que está el problema.

$emailLogin = mysqli_real_escape_string($con, $_POST['emailLogin']);

$passLogin = mysqli_real_escape_string($con, $_POST['passLogin']);

$query = "SELECT `pass` FROM `user` WHERE `email`='$emailLogin'";

$result = mysqli_query($con, $query);

$row = mysqli_fetch_array($result);

$pass = $row['pass']; 

$key = VUP($passLogin, $pass);

Esto es parte de mi verificar.php

function VUP($check, $valid){

if (password_verify($check, $valid)) {
$key = 1;

} else {
echo 'Invalid password.';
$key = 0;
die();
}
return $key;

}

También parte de verificado.php

function SHP($password){

$hash = password_hash('$password', PASSWORD_BCRYPT);

return $hash;

}

Cualquier consejo sería muy útil.

Respuestas a la pregunta(1)

Su respuesta a la pregunta