Привет, я пытаюсь удалить данные о бронировании пользователей, когда пользователь нажимает удалить в моем файле bookingbeforedeltion.php, но по какой-то причине, когда я тестирую свой php-файл, когда я нажимаю удалить, он переходит в мой delete.php ...

1
HarryB 14 Янв 2021 в 07:04

2 ответа

Лучший ответ

И я думаю, это поможет:

  1. Как упоминалось выше, вам нужно распечатать его из PHP
<a href= 'delete.php?rn=$result[roomname]'>
// To 
<a href= 'delete.php?rn=<?= $row['roomname'] ?>'>
// Explanation:
// 1. <?= ... ?> is the short form of <?php echo ... ?>
// 2. The `roomname` came from $row, not $result ($result is the MySQLi Object)
// 3. You need to quote the `roomname` because without it `roomname` will be readed
//    as Constant, and may Throw a Warning message
//
  1. Ваш DELETE неверен, правильный - DELETE FROM ... WHERE ...
$query = "DELETE bookingID, roomname, checkindate, checkoutdate, contactnumber,
bookingextras, roomreview, customerID, roomID FROM booking WHERE roomname = 
'$roomname'";
// To
$query = "DELETE FROM booking WHERE roomname = '$roomname'";

ДОПОЛНИТЕЛЬНО: 3. Вы можете назначить значение по умолчанию для $ roomname.

$roomname=$_GET['rn'];
// To
$roomname=$_GET['rn'] ?? 'default if null';

// if the rn index doesnt exist, the $roomname value will be `default if null` instead of throwing a Warning
  1. Попробуйте использовать SQL Prepared-Statement вместо того, чтобы писать его. (Я не знаю примера, но он может предотвратить SQL-инъекцию)
0
Illya 14 Янв 2021 в 05:20

Чтобы передать данные в delete.php, вам необходимо использовать функцию эха PHP. Пожалуйста, измените эту строку

<a href= 'delete.php?rn=$result[roomname]'>

К

<a href= 'delete.php?rn=<?php echo $result[roomname]; ?>'>

Также проверьте оператор удаления в своем PHP-скрипте. Удаление записи должно быть примерно таким: Delete from table_name where [condition]

-1
Ken Lee 14 Янв 2021 в 04:35
65713277