2013-12-22 4 views
1

에서 열이 나는 다음 줄을 가지고있다. 그러나 추가 행 (kill)을 업데이트해야하며 구문 오류가 계속 발생합니다. 나는 다음을 시도했다 :업데이트 여러 행/PHP/MySQL은

$reset = "UPDATE pidgeon SET obt='" . $hour . "', kill='1' WHERE tag='" . $tag . "'"; 

$reset = "UPDATE pidgeon SET kill='1', obt='" . $hour . "' WHERE tag='" . $tag . "'"; 

$reset = "UPDATE pidgeon SET obt='" . $hour . "', kill='" . $num . "' WHERE tag='" . $tag . "'"; 

심지어 2 개의 별도의 UPDATE 쿼리를 수행했는데 동일한 구문 오류 메시지가 표시된다. 난 행을 죽일 문제가있는 시스템에 그것을 좁혔지만 무슨 문제인지 모르겠다. 내가 을 INT, SMALLINT, BOOL, 심지어 CHAR로 설정하고 't/f'를 값으로 사용하려고 시도했습니다. 구문 오류가 여전히 발생합니다. 어떤 제안?

+0

어떤 구문 오류가 발생합니까? – andrewsi

+0

[MySQL에서 예약어를 테이블 또는 열 이름으로 사용하기 때문에 구문 오류가 발생할 수 있습니다] (http://stackoverflow.com/questions/23446377/syntax-error-due-to-using-a-reserved-word -as-a-table-or-column-name-in-mysql) – michaelb958

답변

1

KILLreserved keyword, 그래서 당신과 같이, 역 따옴표로 묶어야 할 것이다 :

$reset = sprintf("UPDATE pidgeon SET `kill`='1', obt='%s' 
WHERE tag='%s'", $hour, $tag); 
+1

+1 또는 이름을 바꿉니다. – AlexP

+0

@AlexP : 물론입니다. 보다 이해하기 쉬운 열 이름을 사용하는 것이 항상 좋습니다. –

+0

당신은 최고입니다! 정말 고맙습니다! 그것의 항상 가장 사악한 오류. – xv47

0

Kill 실제로 구문, 당신은 직접 사용할 수 없습니다.

kill을 다른 이름으로 바꿉니다.