我是php-mysql的新手。我有一个带有类别的表和另一个带有子类别的表。我为每个子类别创建了一个单独的表。当我尝试删除一个类别时,我需要删除所有子类别表。但是我的子类别表并没有被删除。我的代码是:
<?php
if(isset($_GET['id2']))
{
$con=mysql_connect('localhost','root','')or die ("error in connection");
$sel=mysql_select_db('category',$con);
$id=$_GET['id2'];
//echo $id;
$sql1="DELETE subcat FROM category INNER JOIN subcat
WHERE category.id=subcat.id and category.id='$id'";
mysql_query($sql1);
$sql2 = "DELETE FROM category WHERE id='$id'";
mysql_query($sql2);
$da="SELECT * FROM subcat WHERE id='$id'";
//print $da;
$data = mysql_query($da) or die(mysql_error());
while($row = mysql_fetch_array($data))
{
$x = $row['sub'];
$sql33="DROP TABLE $x";
mysql_query($sql33) or die(mysql_error());
echo $sql33;
}
header('location:category.php');
}
?>请指教我哪里错了……
谢谢,Sujith
发布于 2016-03-23 02:52:08
首先删除subcat和cat表中的记录,然后再次尝试检索子cat记录以删除这些表,这显然将是一个空列表。首先获取表的列表,然后删除记录,然后删除表。
但老实说,您不应该在运行中创建和删除表。这首先表明了糟糕的数据库设计!
https://stackoverflow.com/questions/36162591
复制相似问题