2010-01-11 96 views
0

我有以下結構的表,Mysql的刪除查詢刪除一排只有兩列

FIELD   TYPE   EXTRA 
faciltiy_id   int   auto_increment(Primary Key) 
hotel_id   int 
facility_title  varchar(20) 
facility_desc  varchar(300) 

當我想刪除行與特定facility_id我使用的代碼,

DELETE 
FROM $hotel_facilities 
WHERE facilities_id = '$facilities_id'"; 

但是不是整行,只有facility_titlefacility_desc字段被刪除。如果我直接通過phpmyadmin在表上運行這個查詢,它可以正常工作。

任何人都可以啓發我我做錯了什麼?

回答

1

但是不是整行,只有facility_title和facility_desc字段被刪除。如果我直接通過phpmyadmin在它正常工作表中運行此查詢...

因爲facilities_id是INT,你不需要單引號括起來:

DELETE FROM {$hotel_facilities} 
WHERE facilities_id = {$facilities_id} 

但我認爲真正的問題是UPDATE語句被調用,而不是DELETE語句。主要是因爲DELETE語句只會刪除整行,而不是特定的列。

您需要跟蹤觸發提交時所調用的內容,並在執行前打印到屏幕(使用echo或通過使用更方便的Javascript)。