我有一个具有以下结构的表,
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_title
和 facility_desc
字段被删除,而不是整行。如果我直接通过 phpmyadmin 在表上运行此查询,它可以正常工作。
谁能告诉我我做错了什么?
最佳答案
But instead of the whole row, only the facility_title and facility_desc fields are getting deleted. If I run this query directly through phpmyadmin over the table it works correctly...
因为 facilities_id
是一个 INT,所以不需要将其括在单引号内:
DELETE FROM {$hotel_facilities}
WHERE facilities_id = {$facilities_id}
但我认为真正的问题是正在调用 UPDATE 语句,而不是 DELETE 语句。主要是因为 DELETE 语句只删除整行,而不删除特定列。
您需要跟踪触发提交时所调用的内容,并在执行之前打印到屏幕(使用 echo
或通过 Javascript,如果更方便的话)。
关于php - Mysql删除查询只删除一行中的两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2039911/