[英]How to safely use $_GET['id'] to get details from database by selecting html table row
因此,我有此工作代码可单击链接,以在输入文本框中的另一页上显示数据库的一行的详细信息。
<?php
foreach ($allCentrifuge as $list) {
$id = $list['id'];
?>
<tr>
<td><?php echo $list['experiment'] ?></td>
<td><?php echo $list['project_name'] ?></td>
<td><?php echo $list['project_date'] ?></td>
<td><a href="../Views/user_centrifuge.php?id=<?php echo $list['id']?>">Details</a></td>
</tr>
<?php
}
?>
并且此函数获取那些详细信息:
public function fetchCentrifuge()
{
$uid = $_GET['id'];
try {
$stmt = $this->dbconn->prepare("SELECT * FROM centrifuge WHERE id = ?");
$stmt->execute(array($uid));
return $stmt->fetchAll();
}
因此,从我读过的所有主题来看,这显然对SQL注入很危险。 但是,如何将这些代码与准备好的语句一起使用? 我似乎无法使其与id占位符一起使用。
看起来不错。 您还可以将输入var强制转换为INT。
(int)$_GET['id'] or intval($_GET['id'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.