운영자가 제품을 삭제하려고 할 때마다 MYSQL 데이터베이스에서 제품 목록을 가져오고 각 제품에 대해 삭제 버튼을 사용하고 있습니다.PHP Mysql delete 쿼리가 제대로 작동하지 않습니다.
문제는 목록의 모든 제품에서 삭제 버튼을 누를 때마다 첫 번째 요소가 삭제된다는 것입니다.
아래 코드에 어떤 문제가 있습니까?
Products
페이지 :
<?php
$link=mysqli_connect("localhost","root","","smartcart");
$prod="select * from products";
$rw=mysqli_query($link,$prod) or die(mysqli_errno()."in query $prod");
$count=1;
while($row=mysqli_fetch_assoc($rw))
{
echo "<tr>";
echo "<td>".$count."</td>";
echo "<td>".$row['prod_id']."</td>";
echo "<td>".$row['prod_name']."</td>";
echo "<td>".$row['prod_price']."</td>";
echo "<td><form action='delete_prod.php' id='delete' method='get'>";
echo "<input type='hidden' name='prod_id' value='".$row['prod_id']."' />";
echo "<button type='submit' form = 'delete' class='btn btn-default' name='delete'>Delete</button>";
echo "</form></td>";
$count=$count+1;
}
mysqli_free_result($rw);
?>
delete_prod.php
:
<?php
if(isset($_GET['delete']))
{
include "connection.php";
$prod_id=$_REQUEST['prod_id'];
$del="delete from products where prod_id=$prod_id";
if (mysqli_query($link,$del))
{
echo "Successfully deleted";
unset($_POST['delete']);
}
else
{
echo "Delete operation Failed";
}
header('location:show_db.php');
}
?>
는 내가 정말 간단한 점을 놓치고 있다고 생각하지만, 그것은 무엇을 얻을 수 없습니다입니다.
난 정말이 인터넷에서 코드가 아닙니다 희망 -이 일이 기다리고 보안 사고입니다! '$ _GET','$ _POST' 또는'$ _REQUEST'의 입력을 직접 사용하지 마십시오! 그것이 확실하다고해도, 먼저 청소하십시오. – hexblot
delete_prod.php에 $ _REQUEST [ 'prod_id']가 표시됩니까? 그리고 당신에게 오류가 있습니까? –
로컬 컴퓨터에서 사용하기로되어 있습니다. 인터넷에서 절대로. – user3736335