Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将PDO::FECH_ASSOC更改为字符串_Php_Mysql - Fatal编程技术网

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分钟。我看我太慢了:)顺便说一句,存储纯文本密码不是一个好的做法。