1 回答

TA贡献1845条经验 获得超8个赞
要回答您的评论,请在 fetch.php 中使用链接按钮和行中的 ID 更改按钮:
<tr>
<td>'.$row["ID"].'</td>
<td>'.$row["Name"].'</td>
<td>'.$row["Wrongs"].'</td>
<td>'.$row["Rights"].'</td>
<td>'.$row["Percentage"].'</td>
<td>'.$row["Age"].'</td>
<td><a href="generate_pdf.php?id='.$row["ID"].'"><button id="pdf" name="generate_pdf" class="btn btn-primary"><i class="fa fa-pdf"" aria-hidden="true"></i>Generate PDF</button></a></td>
</tr>
为什么要这样做?:此操作允许您将变量从一个页面传递到另一个页面(另一种方法是使用 AJax)
在 generate.pdf 中使用 GET 创建变量并在查询中使用它,例如:
$id=$_GET['id'];
$query = $connString->prepare("SELECT ID, Name, Wrongs, Rights, Percentage, Age FROM Datas WHERE ID=?");
$query->bind_param('i',$id);
$query->execute();
$result=$query->get_result();
为什么要这样做?:我们将通过在查询中传递 $_GET 变量来使用它。与您不同,我使用准备好的 stmt 来防止对查询的直接攻击。
另一个“提示”更改搜索查询:
$search='%'.$_POST["search"].'%';
$sql =$connect->prepare("SELECT * FROM Datas WHERE ID LIKE ?");
$sql->bind_param('s',$search);
$sql->execute();
$result = $sql->get_result();
为什么要这样做?:正如之前所见,绝对有必要准备查询以防止攻击
回答您的最后一条评论:@SimoneRossaini 我忘了提一件事。我的 id 是一个字符串。我如何参考它?由于您提供的参考脚本是整数。
Character Description
i corresponding variable has type integer
d corresponding variable has type double
s corresponding variable has type string
b corresponding variable is a blob and will be sent in packets
所以你需要改变 bind_param 像:$query->bind_param('s',$id);
- 1 回答
- 0 关注
- 142 浏览
添加回答
举报