我是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
答案 0 :(得分:0)
首先从subcat和cat表中删除记录,然后再次尝试检索subcat记录以删除表,这显然是一个空列表。首先获取表的列表,然后删除记录,然后删除表。
但老实说,你不应该动态创建和删除表。这首先表明数据库设计不好!