2016-10-21 9 views
0

は、これらの変数を持っていると言います。2つ以上のテーブルから削除する

$ post_id = 222;

$ IsLoggIn = 2;

私は同じコラム"post_id"という名前を5つの異なるテーブルに持っています。アパート: は、私は、その値が変数「の$ post_idの」に等しく、

なお、行を削除列名「post_idの」との行があるかどうかをチェックし、確認するために、SQL文を書きたいです"public_feed_table"から、post_idと等しい行が変数"$ post_id"と等しい可能性があります。したがって、削除する前に行があるかどうかをSQL文で確認する必要があります。

このジョブを実行できる単一のSQL文が必要です。

私が試したことは以下の通りです。助けてください:

global  $dbc_conn, 
      $public_feed_table, 
      $images_table, 
      $comments_table, 
      $rating_table, 
      $notification_table,  
      $IsLoggIn; 

$sql = "DELETE 
         p,i,c,r,n 
          FROM 
           $public_feed_table p 
            LEFT JOIN 
            $images_table i, 
            $comments_table c, 
            $rating_table r, 
            $notification_table n 
             ON 
             i.post_id, 
             c.post_id, 
             r.post_id, 
             n.post_id=p.post_id 

             WHERE p.post_id='$post_id' 
             AND p.user_id='$IsLoggIn' 

             "; 
      //query database 
      $query = mysqli_query($dbc_conn,$sql); 
+1

はあなたの構文が間違っている参加する実際の列名でそれを代用であるべきです。 'に参加させる必要があります。に入れてください。 – Jens

+0

あなたが試したこととあなたが望むものを書きました。しかし、あなたは問題が – Jens

+0

であると書いてありません:あなたはあなたのSQL構文に誤りがあります。あなたのMariaDBサーバーのバージョンに対応するマニュアルをチェックして、正しい文法が「コメントc、評価r、通知n」の近くの行6に表示されるようにしてください。 –

答えて

1

助けてください構文は悪です。それでなければなりません:

 $sql = "DELETE p,i,c,r,n 
         FROM 
         $public_feed_table p 
          LEFT JOIN 
          $images_table i ON 
          p.post_id = i.post_id 

          LEFT JOIN 
          $comments_table c ON 
          p.post_id = c.post_id 

          LEFT JOIN 
          $rating_table r ON 
          p.post_id = r.post_id 

          LEFT JOIN 
          $notification_table n ON 
          p.post_id=n.post_id 

           WHERE p.post_id='$post_id' 
           AND p.user_id='$IsLoggIn' 

           "; 

詳細については以下を参照してくださいhttp://www.w3schools.com/sql/sql_join_left.asp

+0

感謝しました。 –

0

あなたJOIN構文は奇妙合計です。むしろ

     FROM 
          $public_feed_table p 
           LEFT JOIN 
           $images_table i ON i.col = p.col, 
           LEFT JOIN $comments_table c ON p.col = c.col, 

** colは、例えば、あなたのテーブルごとにスキーマ

関連する問題