[英]Delete data in php from same page mysqli
我無法從php刪除數據庫中的數據
這是我的代碼
<tbody>
<form action='<?php $_PHP_SELF ?>'method='GET'>
<?php
include 'config.php';
$sql="SELECT * from department";
$result = $conn->query($sql);
if($result->num_rows > 0 )
{
while ($row= $result-> fetch_assoc()){
echo "<tr><td>". $row["id"] ."</td><td><b>". $row["department_name"] ."</b></td><td>
<a href='?id=" . $row["id"] . "'><input type='submit' class='btn cur-p btn-danger' name='delete_department' value='delete'></a><td></tr></form>";
}
echo"</tbody>";
}
else {
echo "<div class='alert alert-danger' role='alert'>No Data Found !</div";
}
$conn-> close();
?>
PHP代碼
<?php
// connect to the database
include('config.php');
// confirm that the 'id' variable has been set
if(isset($_GET['delete_department']))
{
// get the 'id' variable from the URL
$id = $_GET['id'];
// delete record from database
if ($stmt = $mysqli->prepare("DELETE FROM department WHERE id = ?
LIMIT 1"))
$stmt->bind_param("i",$id);
$stmt->execute();
$stmt->close();
}
else
{
echo "ERROR: could not prepare SQL statement.";
}
$mysqli->close();
}
?>
刪除條目的正確PHP代碼是什么? 配置對我來說似乎還可以。
這是您產生的HTML:
<a href='?id=123'><input type='submit' class='btn cur-p btn-danger' name='delete_department' value='delete'></a>
這真的沒有道理。 您正在嘗試在鏈接中放置一個提交按鈕。 鏈接已經可以單擊,您不需要一個按鈕即可創建鏈接 。 由於您是從查詢字符串集合中獲取值,因此只需在鏈接URL的查詢字符串中添加所需的內容即可:
<a href='?id=123&delete_department=1'>Delete</a>
您的代碼中的內容可能如下所示:
echo "<tr><td>". $row["id"] ."</td><td><b>". $row["department_name"] ."</b></td><td>
<a href='?id=" . $row["id"] . "&delete_department=1'>Delete</a><td></tr></form>";
請注意,您可能確實還有更多我未發現的錯誤。 該代碼格式不正確,很難發現錯別字,但是此注釋聲稱至少發現了一個錯別字。
將您的PHP代碼更改為:
include('config.php');
if (isset($_GET['delete_department'])) {
$id = $_GET['id'];
if ($stmt = $mysqli->prepare("DELETE FROM department WHERE id = :id "))
$stmt->bind_param(":id", $id);
$stmt->execute();
$stmt->close();
} else {
echo "ERROR: could not prepare SQL statement.";
}
$mysqli->close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.