-1

入力されたユーザー名に基づいてユーザーのパスワードを取得する機能を使用しようとしています。ただし、結果を文字列にすることはできないようです。それを文字列に転送するにはどうすればよいですか?password列に格納されている値が必要です。

ここに関数があります

public function get_password($username) {
    global $pdo;

    $query = $pdo->prepare("SELECT `password` FROM `users` WHERE `username` = ?");
    $query->bindValue(1, $username);
    $query->execute();

    $query->fetch(PDO::FETCH_ASSOC);

    return $query;
}

この関数の結果を使用するパラメーターには、指定された文字列、配列が必要であるというエラーが表示され続けるため、関数の結果は配列ではなく文字列である必要があると想定しているため、これが必要です

編集:追加しようとしまし$query['password']たが、次のエラーが返されましたCannot use object of type PDOStatement as array

4

2 に答える 2

1

これを使って:

public function get_password($username) {
    global $pdo;

    $query = $pdo->prepare("SELECT `password` FROM `users` WHERE `username` = ?");
    $query->bindValue(1, $username);
    $query->execute();

    $password = "";
    while($row = $query->fetch(PDO::FETCH_ASSOC))
    {
        $password = $row['password'];
    }
    return $password;
}
于 2013-05-02T07:43:06.777 に答える