2014-10-01 125 views
-4

我無法刪除數據庫中的任何記錄。我在這找不到任何錯誤。無法使用php刪除數據庫中的行

我已經從另一個表中刪除記錄只是改變一點點,但在這裏它不工作。以下是應用刪除查詢的代碼。表的名稱來自我要刪除記錄的位置,但在此處未發生。

deleteSupplier.php

<?php 
mysql_connect("localhost","root",""); 
mysql_select_db("db_kiln"); 
$id1 = $_GET['id1']; 
$query0 = "DELETE FROM tbl_supplier WHERE sup_id='$id1'"; 
if(mysql_query($query0)){ 
echo "<script>window.open('supplier_connect.php','_self')</script>"; 
} 
else{ 
    echo "Not deleted"; 
    } 
?> 

這是我取的數據庫中的數據,並有刪除按鈕,對每條記錄的文件。當我點擊按鈕時,它不會刪除記錄並顯示錯誤消息。我無法找到任何錯誤,我認爲在這段代碼中存在邏輯錯誤。請幫忙。

supplier_connect.php

<?php 
mysql_connect("localhost","root",""); 
mysql_select_db("db_kiln"); 

$query = "Select * from tbl_supplier"; 
$run = mysql_query($query); 
echo "<table border='1'> 
<tr> 
<th>Supplier Id</th> 
<th>Name</th> 
<th>Contact Number</th> 
<th>Quotation </th> 
<th>Remove</th> 
</tr>"; 
while($row = mysql_fetch_assoc($run)){ 
echo "<tr>"; 
echo "<td>" . $row['sup_id'] . "</td>"; 
echo "<td>" . $row['sup_name'] . "</td>"; 
    echo "<td>" . $row['sup_contact'] . "</td>"; 
echo "<td>" .$row['sup_quotation']. "</th>"; 
    echo '<td><a href="deleteSupplier.php?id1='.$row['sup_id'].'">Delete</a></td>'; 
    echo "</tr>"; 
} 
echo "</table>"; 
?> 
+0

有一些SQL注入寫在整個腳本。也請不要使用mysql_ *函數,用戶mysqli_ *函數或PDO – ksealey 2014-10-01 14:39:38

+0

也許你不允許刪除某些東西?你是否用你的root賬戶來做這件事? – Freddy 2014-10-01 14:40:57

+0

我有數據庫連接到它,並從數據庫中提取數據。其他部分在deleteSupplier.php運行,它顯示錯誤消息「未刪除」 – Usman 2014-10-01 14:44:18

回答

0

你可能有供應商引用到另一個表的ID,並在DELETE,且未設置任何操作。您需要設置'刪除時:'Cascade或SET NULL'選項。我會去SET NULL,否則你的整個參考記錄也會被刪除。

編輯:檢查您的聯繫人和報價之間的關係,看看你的supplierid將要去哪裏。