Пользователь должен уметь удалять определенную строку, но программы продолжают удалять первую строку. Я нашел ответ here Пробовал, что он не работает. Интересно, что я делаю неправильно.Mysql продолжает удалять неправильную строку таблицы
cart.php
<form id='updateCartForm' action="update_cart.php" method="get">
<input name="cart_item_name" type = "hidden" id ="cart_item_name" value='<?=$product['prod_name'];?>'>
<input name="cart_item_id" type = "hidden" id ="cart_item_id" value='<?=$product['id'];?>'>
</form>
update_cart.php
<?php
require_once "core/db.php"
//get data from form
$cart_item_name = $_GET['cart_item_name'];
$cart_item_id = $_GET['cart_item_id'];
//execute query
$sql = "DELETE FROM cart WHERE id =" .$cart_item_id;
$db->query($sql);
//flash success message
$domain =($_SERVER['HTTP_HOST'] != 'localhost')?'.'.$_SERVER['HTTP_HOST']:false;
$_SESSION['success_flash'] = $cart_item_name. ' was deleted from your cart.';
проверить значение вы получаете в '$ cart_item_id'. предположим, что кто-то отправляет 'cart_item_id' как' 1; DROP TABLE cart; 'Немного о [SQL Injection] (http://php.net/manual/en/security.database.sql-injection.php) – bansi
@bansi he 'просто нужно отправить значение 'id', и вся таблица будет очищена, поэтому' id = id' всегда истинно. –