Php Pdo的显示结果
您好,我有一个小问题,我正在尝试将pdo查询的两个结果放在最上面并打印出来,但没有这样的运气,我可能只是犯了一个愚蠢的错误,我没有看到查询似乎被找到了,所以如果名称在数据库中,它确实会有所不同(如果你把它放在引号中,它会有所不同)可能变量得到的是空值或其他什么Php Pdo的显示结果,php,mysql,pdo,Php,Mysql,Pdo,您好,我有一个小问题,我正在尝试将pdo查询的两个结果放在最上面并打印出来,但没有这样的运气,我可能只是犯了一个愚蠢的错误,我没有看到查询似乎被找到了,所以如果名称在数据库中,它确实会有所不同(如果你把它放在引号中,它会有所不同)可能变量得到的是空值或其他什么 $username="xxx"; $firstname="xxx"; $check=0; if (isset($_GET['u'])){ $username=strip_tags(@$_GET['u']);
$username="xxx";
$firstname="xxx";
$check=0;
if (isset($_GET['u'])){
$username=strip_tags(@$_GET['u']);
if (ctype_alnum($username)){
$check=$stmt=$link->prepare("SELECT * FROM
users WHERE username = ?");
$stmt->execute(array($username));
$check=$stmt->fetchAll();
if(count($check)==1){
$get=$stmt->fetch(PDO::FETCH_BOTH);
echo "$get";
$username =$get["username"];
$firstname = $get["first_name"];
}else{
echo "<h2> User does not exist!</h2>";
exit();
}
}
}
?>
<h2>Profilepage for: <?php echo "$username"; ?></h2>
<h2>First name: <?php echo "$firstname"; ?></h2
$username=“xxx”;
$firstname=“xxx”;
$check=0;
如果(isset($\u GET['u'])){
$username=strip_标记(@$_GET['u']);
if(ctype_alnum($username)){
$check=$stmt=$link->prepare(“选择*FROM
用户名为“?”的用户;
$stmt->execute(数组($username));
$check=$stmt->fetchAll();
如果(计数($check)==1){
$get=$stmt->fetch(PDO::fetch_两者);
回显“$get”;
$username=$get[“username”];
$firstname=$get[“first_name”];
}否则{
echo“用户不存在!”;
退出();
}
}
}
?>
个人资料页,用于:
名字:$stmt->fetchAll()
正在获取查询的所有结果。完成此操作后,$stmt->fetch()
将不再有可用于提取的结果。您应该从$check
数组中获取数据
if (count($check) == 1) {
$get = $check[0];
$username = $get["username"];
$firstname = $get["first_name"];
} else {
echo "<h2> Username does not exist </h2>";
exit();
}
而且,echo“$get”
没有任何意义$get
是一个数组,您不能回显它,您需要使用打印($get)
或变量转储($get)
警告:使用错误抑制@
操作符可以掩盖代码的问题,并使类似的调试问题变得更加复杂。这是最后手段,只能在特殊情况下使用。您应该为用户显示错误消息、记录问题、启动某种重试,或者同时执行所有这些操作。警告:编写自己的访问控制层并不容易,而且有很多可能会出现严重错误。请不要编写您自己的身份验证系统,因为任何现代的同类产品都具有强大的内置功能。至少绝对不要将密码存储为纯文本。字段用户名是唯一的?是的,usename是唯一的,但我这样做只是为了获得一些经验,大多数数据应该加密对我来说是清楚的。我只是想在不同的方法之间切换一点,真正了解我的东西是如何工作的,但谢谢你的建议
$stmt->execute(array($username));
$get = $stmt->fetch(PDO::FETCH_ASSOC);
if ($get) {
$username = $get["username"];
$firstname = $get["first_name"];
} else {
echo "<h2> Username does not exist </h2>";
exit();
}