1

phpass ライブラリを既存の認証方法と統合しようとしています:

public static function authenticate($username, $password)
{
    global $db;
    $username = $db->prep_query($username);
    $password = $db->prep_query($password); // Does not seems like it will be used

    # First step: Retrieve the account based on the user input (email)
    $query_string = "SELECT * FROM users WHERE email = '{$username}' LIMIT 1";
    $query_result = static::find_by_query_string($query_string);

    return !empty($query_result) ? array_shift($query_result) : false;
}

今戻ってくる記録は(によるとprint_r($query_result)

Array ( [0] => User Object ( [id] => 7 [password] => $2a$08$qwSjSZ11TUYs5w1L89ppFer2n40HrnjlvaQ00DsUOOvjSYwoEmN4K [email] => test@user.com ) ) 1

私が取得しようとしているものは次のとおりです。"$2a$08$qwSjSZ11TUYs5w1L89ppFer2n40HrnjlvaQ00DsUOOvjSYwoEmN4K"

しかし、使用$query_result[0][1]する$query_result[0]["password]とエラーが発生します。

ここで何が欠けていますか?$query_stringarrayでパスワード値を使用するにはどうすればよいですか?

4

1 に答える 1

4

たまたまオブジェクトである最初の配列インデックスにアクセスします。したがって、passwordというプロパティにアクセスする必要があります。

$query_result[0]->password
于 2013-02-11T21:09:41.157 に答える