2013-04-26 6 views
-1

내가 MySQL과 PHP를 통해 테이블의 일부 값을 업데이트하려고하지만, 나는 그것이 작동하지 않을 수 있습니다 여러 열을 업데이트 할 때SQL 쿼리 업데이트와 설정은

$update = "UPDATE $table 
      SET `active`='1' AND `title`='Disabled By Moderator' 
      WHERE `id`='".$ad_id."' LIMIT 1"; 
+0

질문을하기 전에 ** SO ** 당신은 **. ** 업데이트 구문을 공부 시도해야하고 당신은 ** 미만 30 초에서 그것을 해결 한 것입니다. ** – Luv

답변

3

, 그것을 구분 : 여기 내 코드입니다 쉼표. 문이 부울 작업을 수행하기 때문에

$update = "UPDATE $table SET `active`='1' , `title`='Disabled By Moderator' WHERE `id`='".$ad_id."' LIMIT 1"; 

가 열 active1 또는 0를 업데이트하는 이유입니다. 현재 명령문에서 영향을받는 유일한 열은 Active 열입니다. 열 title은 부울 연산의 일부입니다. 변수의 값 ()이 외부에서 온 경우

귀하의 업데이트 문이 그룹화되어있는 경우 모양을

,

UPDATE $table 
SET active = (1 AND (title = 'Disabled By Moderator')) 
WHERE id= 'val' 
LIMIT 1 
(!) 참고로

는 쿼리가 SQL Injection에 취약 . 그것을 막는 방법을 배우려면 아래의 기사를보십시오. PreparedStatements을 사용하면 값 주위에 작은 따옴표를 사용하지 않아도됩니다.

+1

1 분 이내에 응답 해 주셔서 감사합니다. D You rock! –

+0

은 몇 가지 추가 정보로 답변을 업데이트했습니다. –

+0

[적절한 SQL 이스케이프 처리] (http://bobby-tables.com/php)를 수행하는 것이 매우 중요하거나 매우 나쁜 일이 일어날 것입니다. – tadman