PHP MySQL PDO查询始终返回1

时间:2016-09-17 18:38:53

标签: php mysql pdo mariadb

我试图从数据库中获取特定值,但是,它总是返回1作为结果而不是预期结果。

我是PHP和PDO的新手。

这是查询

$query = " 
            SELECT 
                email,
                userlevel
            FROM users 
            WHERE 
                username = :username 
        "; 

以下是我传递的参数值

$query_params = array( 
            ':username' => $_SESSION['user']["username"] 
        ); 

然后我跑

$stmt = $db->prepare($query); 
$result = $stmt->execute($query_params);
$row = $stmt->fetch();

当我尝试用代码显示结果时,它总是返回1

<?php echo print_r(array_values($row)); ?>

预期结果应该是

Array
(
        (
            [email] => testuser@testh2.com
            [userlevel] => 5
        )

)

我一直在寻找几个小时,但我似乎无法找到问题。 我已经验证了username参数是否正确传递。

1 个答案:

答案 0 :(得分:0)

正如@RyanVincent使用var_dump()指出的那样,我可以看到$ row中的值是什么。由于它是一个数组,因此必须将其读作$row["userlevel"]

正在运行var_dump($row),结果为array(2) { ["email"]=> string(23) "testuser@testh2.com" ["userlevel"]=> string(1) "5" }

感谢@RyanVincent和其他所有帮助过的人!