2010-01-11 3 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 필드 만 삭제됩니다. facilities_id가 INT 때문에 내가 ... 제대로 작동 테이블에 phpMyAdmin을 통해 직접

이 쿼리를 실행하면 작은 따옴표 안에 묶어야 할 필요가 없습니다 :

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

그러나 진짜 문제는 DELETE 문보다는 UPDATE 문이 호출된다는 것입니다. 주로 DELETE 문은 특정 열이 아닌 전체 행만 삭제하기 때문에.

제출이 시작될 때 호출되는 것을 추적하고 실행하기 전에 echo 또는 자바 스크립트를 사용하여 화면에 인쇄해야합니다.