Я пытаюсь удалить новостное событие из базы данных, выбрав событие новостей из выпадающего меню. Когда пользователь выбирает заголовок новостей и нажимает кнопку отправки, элемент новостей следует удалить из соответствующей таблицы. Я не могу заставить это работать правильно, независимо от того, что я пытаюсь. Извините, я новичок в PHP. Может кто-нибудь помочь, пожалуйста? вот выпадающее меню:выпадающее меню php для удаления из базы данных
$sql="SELECT newstitle FROM $tbl_name";
$result=mysql_query($sql);
?>
<select name="select1">
<?php
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
?>
<option value="<?php echo $row['newstitle'];?>"> <?php echo $row['newstitle'];?> </option>
<?php
}
?>
</select>
<td><center><input type="submit" name="delete" value="delete"></center></td>
У меня есть также этот код для удаления из базы данных при нажатии кнопки?
$delete=$_POST['delete'];
$delete = mysql_real_escape_string($delete);
mysql_query ("DELETE FROM $tbl_name WHERE newstitle='$delete'") or die ("Error- news has not been deleted");
echo "News has been deleted";
header("Location: newsdeleted.php");
Добро пожаловать в Stack Overflow! Пожалуйста, прекратите писать новый код с помощью древних 'mysql_ *' функций. Они больше не поддерживаются, и сообщество начало процесс [устаревания] (http://news.php.net/php.internals/53799). Вместо этого вы должны узнать о подготовленных операторах и использовать либо [PDO] (http://php.net/pdo), либо [MySQLi] (http://php.net/mysqli). Если вы хотите узнать, [здесь довольно хороший учебник по PDO] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers). –
В дополнение к тому, что сказал @Truth, вы в настоящее время открыты для какой-то серьезной инъекции SQL, и вы ** будете взломаны **, если вы еще не были. Если вы научитесь правильно использовать подготовленные заявления, это больше не будет проблемой для вас. Кроме того, вы не можете использовать относительный путь в заголовке «Местоположение:». Хотя он будет работать большую часть времени, RFC говорят, что вы не можете его использовать. Наконец, не используйте теги '