0

mysqli クエリの使用は初めてです。次のコードを使用して、複数のテーブルから行を削除しようとしています:

$del_final = "DELETE confirm, coupon, cpn_image, c_token, deal_24 
              FROM confirm, coupon, cpn_image, c_token, deal_24
              WHERE confirm.customer_id=?
              AND coupon.customer_id=?
              AND cpn_image.customer_id=?
              AND c_token.customer_id=?
              AND deal_24.customer_id=?";

if($stmt->prepare($del_final))
{
    $stmt->bind_param('iiiii', $customer_id, $customer_id, $customer_id, $customer_id, $customer_id);
    $OK3 = $stmt->execute();
    $stmt->free_result();
}

各テーブルに一致するcustomer_idを持つ行がある場合にのみ削除されるようです。これを行う方法を誤解していますか?

4

1 に答える 1

0

このクエリは悪い、本当に悪いと思います。ID を入力パラメーターとして使用してストア プロシージャを作成し、すべてのテーブルに対して単一の削除を使用することをお勧めします。これがその方法です。

于 2012-08-07T18:52:03.310 に答える