如何从mysql中删除多个子表?

时间:2016-03-22 18:39:54

标签: php mysql database

我是php-mysql的新手。我有一个带有Category的表和另一个带子类的表。我为每个子类别创建一个单独的表。当我尝试删除一个类别时,我需要删除所有子类别表。但我的子类别表并未删除。我的代码是:

<?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

1 个答案:

答案 0 :(得分:0)

首先从subcat和cat表中删除记录,然后再次尝试检索subcat记录以删除表,这显然是一个空列表。首先获取表的列表,然后删除记录,然后删除表。

但老实说,你不应该动态创建和删除表。这首先表明数据库设计不好!