2017-12-04 19 views
-1

タイトルに関しては、ウェブサイトの管理者がウェブサイトを通じてデータを削除できるウェブページを作成していました。私は、メッセージが、データが削除されたことを示したが、まだdatabase.Belowに保持されたデータは、コードです:私からデータベース内のデータを削除できませんが、ウェブサイトに表示されたメッセージが成功しました

<input name="Product_id" type="text" required="required" class="form-control" id="Product_id" placeholder="Product ID" > 

if(isset($_GET['id'])) 
{ 
    $product_id = $_GET['id']; 
    $sql = "DELETE FROM product where product_id='$product_id'"; 

    $result = mysqli_query($dbcon,$sql); 

    if($result){ 

     echo "<script type = 'text/javascript'>alert('Successfully Delete')</script>"; 
     echo"<script>window.open('mProduct.php','_self')</script>"; 
    } 

    else{ 
     echo "<script type = 'text/javascript'>alert('Delete Failed!')</script>"; 
    } 

} 

CREATE TABLE `product` (
    `product_id` varchar(11) NOT NULL, 
    `pName` varchar(30) DEFAULT NULL, 
    `pBrand` varchar(30) DEFAULT NULL, 
    `description` text, 
    `pPrice` int(11) DEFAULT NULL, 
    `quantity` int(11) DEFAULT NULL, 
    `pImage` blob, 
    `pImage_name` text 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

期待される結果は、データがデータベースに削除されるべきであるということです。

しかし、結果は「正常に削除されました」というメッセージが表示されますが、データはまだデータベースに残ります。私はそれにデータを入力することができないので、主な問題はデータベース部分にあると思います。しかし、私がproduct_idをintに変更すると、それを行うことができます。残念ながら、私の製品IDはvarchar.Alloneにある必要があります私はそれをチェックするのを助けることができますか?助けを非常に感謝します。ありがとうございました。

$product_id = $_GET['Product_id']; 

を、行はあなたがmysqli_affected_rowsを使用する必要があります

+0

'method'の形式は、おそらく' GET'として設定されていますか?また、テーブルのデザインは少し望ましいです - 視野にキーがない – RamRaider

答えて

0

あなたは書くべき、UPDATE、REPLACE、またはDELETEクエリを実行します。

if($result){ 
    if(mysqli_affected_rows($dbcon)>0){ 
     //Success 
    } 
    else{ 
     //Failure 
    } 
} 
+1

'product_id'カラムは' varchar' – RamRaider

+0

ありがとう、私は編集しました。 –

+0

しかし、それはintでなければなりません –

-1

データベースに存在する場合は、チェックを削除しようとする前に()の最後のINSERTによって影響を受ける行の数を見つけるために:

関連する問題