Я недавно сделал PHP, который должен; если щелкнуть ссылку, удалите определенную строку в одной из моих таблиц MYSQL.Не удалять указанный контент из mysql
В приведенном ниже сценарии есть все, кроме ссылки [href=delete_ac.php?id etc...]
приводит к странице, но когда страница активирует ее, эхо ERROR
вместо удаления строки.
<h1>Members</h1>
<table>
<tr>
<th>ID</th>
<th>Username</th>
<th>E-Mail Address</th>
<th></th>
</tr>
<?php foreach($rows as $row): ?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo htmlentities($row['username'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['email'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><a href="delete_ac.php?id=<?php echo $row['id']; ?>">delete</a></td>
</tr>
<?php endforeach; ?>
</table>
delete_ac.php
Скрипт ниже, что следует удалить ее, но это не
<?php
require("../php/bp-connectionAdmin.php");
$id=$_GET['id'];
$query = "DELETE FROM `users` WHERE `id` = $id";
$result = mysql_query($query);
if ($result) {
echo "Successful";
} else {
echo "ERROR";
}
?>
echo out 'mysql_error()' после 'mysql_query' и посмотреть, что это за ошибка. Также вы должны дезинфицировать свои входные переменные перед их добавлением к запросам. –
Вы можете использовать 'mysql_error()', чтобы получить * актуальную * ошибку из базы данных, которая должна предоставить информацию о том, в чем проблема. Кроме того, * пожалуйста * прекратите использование библиотеки доступа к данным 'mysql_ *'. * По крайней мере, * обновить до 'mysqli_ * 'или PDO. Используйте эти библиотеки для создания подготовленных инструкций вместо того, чтобы открывать уязвимость SQL-инъекции, которая у вас есть в вашем коде. – David
Также причина, по которой вы должны прекратить использовать функции mysql_ *, состоит в том, что они будут отстранены и будут удалены в будущем. – DeiForm