我目前正在研究酒店預訂系統。我無法刪除數據庫中的行/記錄。 PHP/MYSQLi
我正在專門研究刪除我正在處理的測試數據庫中的字段。
我可以查看(SELECT)數據庫的內容並將其放在表中,如果需要,我也想刪除它。
但我無法讓它工作。
管理員端/表的代碼。
// get the records from the database
if ($result = $mysqli->query("SELECT * FROM guestdetails")) {
// display records if there are records to display
if ($result->num_rows > 0) {
// display records in a table
echo "<table class = \"table\">";
// set table headers
echo "<tr>
<th>Guest ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Contact Number</th>
<th>Extra Requests</th>
<th>Gender</th>
<th>Action</th>
</tr>";
while ($row = $result->fetch_object()) {
// set up a row for each record
echo "<tr>";
echo "<td>" . $row->user_id . "</td>";
echo "<td>" . $row->firstname . "</td>";
echo "<td>" . $row->lastname . "</td>";
echo "<td>" . $row->email . "</td>";
echo "<td>" . $row->contactnumber . "</td>";
echo "<td>" . $row->requestMessage . "</td>";
echo "<td>" . $row->gender . "</td>";
// edit function, under construction
// echo "<td><a href='records.php?id=" . $row->id . "'>Edit</a></td>";
echo "<td><a href='../guestdetails/deleteGuestDetails.php?id=" . $row->user_id . "'>Delete</a></td>";
echo "</tr>";
}
echo "</table>";
// if there are no records in the database, display an alert message
} else {
echo "No results to display!";
}
// show an error if there is an issue with the database query
} else {
echo "Error: " . $mysqli->error;
}
// close database connection
$mysqli->close();
這工作得很好。
下面是delete.php代碼
<?php
// connect to the database
include('dbConnect.php');
// confirm that the 'id' variable has been set
if (isset($_GET['user_id']) && is_numeric($_GET['user_id'])) {
// get the 'id' variable from the URL
$user_id = $_GET['user_id'];
// delete record from database
if ($stmt = $mysqli->prepare("DELETE FROM guestdetails WHERE user_id = ? LIMIT 1")) {
$stmt->bind_param("i",$user_id);
$stmt->execute();
$stmt->close();
} else {
echo "ERROR: could not prepare SQL statement.";
}
$mysqli->close();
// redirect user after delete is successful
header("Location: ../admin/mainADMINreserve.php");
// if the 'id' variable isn't set, redirect the user
} else {
header("Location: ../admin/mainADMINreserve.php");
}
?>
我認爲問題就出在這裏某處此代碼:(mainADMINreserve.php)
echo "<td><a href='../guestdetails/deleteGuestDetails.php?id=" . $row->user_id . "'>Delete</a></td>";
,它並沒有設置在這裏:(delete.php)
if (isset($_GET['user_id']) && is_numeric($_GET['user_id'])) {
這就是爲什麼我總是重定向到的該else
部分代碼在delete.php中。
我一直在學習幾個小時,但我無法得到它的工作。順便說一下,我從不同的網站上得到了一段代碼,比如這個here。它幫助我創造了很多,但我在刪除中遇到了問題。什麼似乎是問題?非常感謝您提前! ] 如果有人好奇,這就是它在表格中的樣子。對不起,我不得不隱藏內容,但重點是我可以查看我從我的數據庫輸入的字段。問題在於代碼中所述的刪除按鈕。
非常好的第一個/第二個問題。對你有好處! –
這是一個錯字問題。你正在使用這個GET數組''_GET ['user_id']'還有''id' –
@noɥʇʎPʎzɐɹC謝謝! :D在這樣的社區獲得幫助是一個很大的幫助。 – Kenny