2011-10-18 30 views
4

DELETE MySQL文には2つの条件があります。しかし、それはレコードを削除しません。複数の条件から削除

$sql="DELETE * FROM sportevent.event_registrations WHERE event_registrations.id = '$id' AND event_registration.eventname = $event"; 

質問には何か問題がありますか? WHERE条件を1つだけ使用すると動作しますが、2つを使用する必要があります。

+0

を試してみてください?エラーが発生し、あなたが期待しているものは削除されませんか? – Laimoncijus

+1

http://dev.mysql.com/doc/refman/5.0/en/delete.htmlによると、 'DELETE * FROM'には*があるべきではなく、単にDELETE FROMであるべきです。 –

+2

クエリが 'false'を返した場合、MySQLからエラーを取得します。あなたは暗闇に刺す必要はありませんこの方法! – deceze

答えて

6

私はこれを疑う:すべての後

event_registrations.eventname = $event 

でなければなりません

event_registration.eventname = $event 

、あなたは「から」句と「」の他の部分の両方に複数のフォームを使用しました。それはあなたがパラメータを提供している、しかし確実に、あなたが一貫している必要がありますどのように私にははっきりしていない -

はまた、あなたのパラメータの一つだけが引用されていることに注意してください。

+0

こんにちは、おかげで属していない、spelling.Itはまだクエリを無視表示されませんでした。正しい条件演算子を使用していますか? – SebastianOpperman

+0

@Sebastian:はい、使用して「と」それはあなたが実際に何を意味するかだと仮定すると、問題ないはずです。私が言及した引用問題を修正しましたか?あなたは、同じパラメータを使用して、通常の選択クエリを実行するとどうなり - それはあなたが削除したい行を返すのですか? –

+0

こんにちは、投稿された$イベントは空で、何も変更されていないようです。素晴らしい答えに感謝します。 – SebastianOpperman

2

は、それが動作しないか、まさにこの

$sql="DELETE FROM sportevent event_registrations WHERE event_registrations.id = '$id' AND event_registrations.eventname = $event"; 
+1

これは間違っています。 '*'はDELETEに属しません –

関連する問題