我试图从数据库中获取特定值,但是,它总是返回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参数是否正确传递。
答案 0 :(得分:0)
正如@RyanVincent使用var_dump()
指出的那样,我可以看到$ row中的值是什么。由于它是一个数组,因此必须将其读作$row["userlevel"]
正在运行var_dump($row)
,结果为array(2) { ["email"]=> string(23) "testuser@testh2.com" ["userlevel"]=> string(1) "5" }
。
感谢@RyanVincent和其他所有帮助过的人!