所以,我有这个工作代码点击一个链接,用于显示输入文本框中另一个页面上数据库的一行的详细信息:
<?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'])