2016-03-22 18 views
1

私はphp-mysqlの初心者です。私はカテゴリーとサブカテゴリーを持つ別のテーブルとのテーブルを持っています。私はそれぞれのサブカテゴリのための別のテーブルを作成します。カテゴリを削除しようとすると、すべてのサブカテゴリテーブルを削除する必要があります。しかし、私のサブカテゴリテーブルは削除されません。私のコードは次のとおりです。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

+1

**警告**:PHPを学んでいるだけの方は、古い[mysql_query'](http://php.net/manual/en/function.mysql-query.php)を学ばないでください。インタフェース。それはひどいので、PHP 7では削除されました。[PDOは学ぶのが難しくありません](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo- for database-access /)、[PHP The Right Way](http://www.phptherightway.com/)のようなガイドはベストプラクティスの説明に役立ちます。 **あなたのユーザーパラメータが[正しくエスケープされている](http://bobby-tables.com/php)か、重大な[SQLインジェクションバグ](http://bobby-tables.com/ )。 – tadman

答えて

0

まずあなたがSUBCATと猫のテーブルからレコードを削除し、その後、あなたはretriveしてみてくださいsubcatレコードを再度削除してテーブルを削除します。これは明らかに空のリストになります。最初にテーブルのリストを取得し、レコードを削除してからテーブルを削除します。

しかし、正直なところ、テーブルを作成してその場でドロップするべきではありません。これは最初のところデータベース設計が悪いことを示しています!

関連する問題