php - Mysql删除查询只删除一行中的两列

标签 php mysql sql delete-row

我有一个具有以下结构的表,

    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 在表上运行此查询,它可以正常工作。

谁能告诉我我做错了什么?

最佳答案

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/

相关文章:

PHP/MySQL - 线程需要稍微不同的顺序

c++ - qt数据库fedora的mysql驱动

SQL Merge 语句适用于 Oracle 11g 但不适用于 9i

sql - 分组依据不显示所有行

php - Textarea 换行符无法正常工作

javascript - PHP 表单处理 - 使用 javascript 显示错误消息

php - PHP for 循环中允许的内存大小耗尽

mysql - IIS 7.5 + Mysql ODBC 3.51 网站速度变慢

settings - 包括文件而不必指定 $_SERVER ['DOCUMENT_ROOT' ]

sql - 在 SQL 函数中插入查询