我试图从数据库中获取一个特定的值,但是它总是返回1而不是预期的结果。PHP MySQL PDO查询总是返回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] => [email protected]
[userlevel] => 5
)
)
我一直在寻找了几个小时,我只是似乎无法找到问题。 我已验证用户名参数传递正确。
当执行'$ stmt-> fetch(PDO :: FETCH_ASSOC)时会发生什么;'? – Parziphal
'echo print_r'是一团糟。 ''echo'与print_r'相同,并且'print_r'返回'1'(或者可能是'true'),所以你看到它'echo'' –
调试:'var_dump($ _SESSION ['user'] [ “用户名”],$ result,$ row);' - 紧接在$ row = $ stmt-> fetch();'语句之后。显示?你认为有用的任何东西? –