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 關注
- 124 瀏覽
添加回答
舉報