2014-10-01 124 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将要去哪里。