我正在尝试使用函数根据输入的用户名获取用户的密码。但是我似乎无法将结果变为字符串。如何将其转换为字符串?我只想要存储在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
答案 0 :(得分: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;
}
答案 1 :(得分:0)
试试这个
while($row = $query->fetch(PDO::FETCH_ASSOC))
{
$password = $row['password'];
}