【发布时间】:2016-10-05 14:06:06
【问题描述】:
我正在尝试了解如何防止注射。在此之前,我的代码结构如下。
$empid = $_REQUEST['empid']
$query =("SELECT e.first AS first, e.last AS last, e.username AS uname FROM emps e WHERE e.id='$empid'");
$result = mysqli_query($con, $query);?>
然后在我的身体中显示找到的用户名,我会的。
<?php $row = mysqli_fetch_assoc($result);?>
<?php echo $row['uname'] ;?>
我正在尝试用 mysqli 准备好的语句来完成同样的事情。到目前为止,我有以下内容。
$query= $con->prepare("SELECT e.first AS first, e.last AS last, e.username AS uname FROM emps e WHERE e.id=?");
$query->bind_param("i", $empid);
$query->execute();
$query->close();
所以我很确定语句设置正确,但现在需要将返回的列回显到我网页上的正文
【问题讨论】:
-
问题是关于回声不准备。所以有一个 echo dupe 目标关闭。请做一些研究:p
-
@Drew 这个链接没有帮助。它没有解决问题
-
所以我很确定该语句设置正确,但现在需要将返回的列回显到我网页上的正文 ...以及引用的目标显示。谢谢。好好的。
-
@craisondigital 在
while循环中运行fetch(),但首先绑定结果。这就是您从准备好的语句中回显行的方式。 -
@Drew “引用的目标确实表明了这一点” - 这里的 OP 想要从准备好的语句中回显行。引用的目标(答案)不包括它的方法;这里有两种不同的动物,我必须在这里靠在 OP 的一边;-) 我觉得应该重新提出这个问题。编辑:grazie!
标签: php mysql mysqli prepared-statement