Php 将PDO::FECH_ASSOC更改为字符串
我试图使用一个函数根据输入的用户名获取用户的密码。然而,我似乎不能得到一个字符串的结果。如何将其转换为字符串?我只需要存储在Php 将PDO::FECH_ASSOC更改为字符串,php,mysql,Php,Mysql,我试图使用一个函数根据输入的用户名获取用户的密码。然而,我似乎不能得到一个字符串的结果。如何将其转换为字符串?我只需要存储在password列中的值 下面是函数 public function get_password($username) { global $pdo; $query = $pdo->prepare("SELECT `password` FROM `users` WHERE `username` = ?"); $query->bindValu
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']
,但它返回了一个错误,即无法将PDOStatement类型的对象用作数组
尝试此操作
while($row = $query->fetch(PDO::FETCH_ASSOC))
{
$password = $row['password'];
}
使用以下命令:
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;
}
返回$query[“密码”]@所有。如果我这样做,我得到了这个错误
不能使用类型为PDOStatement的对象作为数组
获取
返回数据,它不会将$query
更改为数据。好的,很抱歉我太懒了,让我发布一个修复程序,时间为2分钟。我看我太慢了:)顺便说一句,存储纯文本密码不是一个好的做法。