Php PDO准备语句中的数组到字符串转换
此函数用于返回已登录用户的用户名。但是,我似乎无法排除发生了什么以及为什么会出现Php PDO准备语句中的数组到字符串转换,php,mysql,pdo,Php,Mysql,Pdo,此函数用于返回已登录用户的用户名。但是,我似乎无法排除发生了什么以及为什么会出现注意:在第一条if()语句中,..中的数组到字符串转换 function getuserfield($field, $link) { $query = $link->prepare("SELECT `$field` FROM `users` WHERE `id`= :session_id"); if ($query->execute(array(':session_id'
注意:在第一条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>";
echo”您好,您的登录身份是:“。getuserfield('username',$link)。“”;
注意:数组到字符串的转换
表明$\u SESSION['user\u id]
是我试图作为字符串访问的数组
$query->execute(array(':session_id' => $_SESSION['user_id']['id']))
解决了这个问题。然后用两个
foreach()
语句调用函数。您不需要数组(':session\u id'=>$\u session['user\u id']),只需使用execute(数组($\u session['user\u id'])警告:PDOStatement::execute:SQLSTATE[HY093]:无效参数号:未定义参数
@unixmiah是您需要执行(数组($\u session['user_id'])
将以任何方式返回相同的通知。。