这是一个返回已登录用户的用户名的功能。但是,我似乎无法解决正在发生的事情,以及为什么我会在第一个Notice: Array to string conversion in..
声明中获得if()
。
function getuserfield($field, $link) {
$query = $link->prepare("SELECT `$field` FROM `users` WHERE `id`= :session_id");
if ($query->execute(array(':session_id' => $_SESSION['user_id']))) {
if ($query_result = $query->fetchAll(PDO::FETCH_ASSOC)) {
return $query_result;
}
}
}
除此之外,整个页面变得不可读(就编码而言)。当然,我会这样使用它:
echo "<p>Greetings, you are logged in as:" . getuserfield('username', $link) . "</p>";
答案 0 :(得分:0)
Notice: Array to string conversion
表示$_SESSION['user_id]
是我尝试以字符串形式访问的数组。
$query->execute(array(':session_id' => $_SESSION['user_id']['id']))
解决了这个问题。然后使用两个foreach()
语句调用该函数。