2014-10-10 3 views
-1

데이터베이스의 행을 업데이트하려고 시도하지만이를 수행 할 수 없습니다. 여기 내 SQL이다 : 나는 문제가 여기에 의심데이터베이스의 행을 업데이트 할 수 없습니다.

$sql = "UPDATE `voting_nomination_counter` 
SET `quantity`=quantity+1 
WHERE `nid` = '$nid' 
AND nominee = '$nominee'"; 

-AND nominee = '$nominee'"; 내가 쿼리에서 모든 일을이를 제거하고 미세 업데이트 할 때 때문이다. 도와주세요.

+2

SQL 오류가 표시되지 않으면 SQL 쿼리 문자열을 출력하고 변수가 예상한지 확인하십시오. – Fluffeh

+0

$ nominee에 값이 있는지 확인하십시오 –

답변

0

을 내가 WHERE string = string를 업데이트 할 경우, 나는이 문제를 해결 난 그냥,이 사항 UPDATE table SET field = REPLACE(field, 'string', 'anothervalue') WHERE field LIKE '%string%';를 사용하는 덕분에들 필요)

0

이 시도 :

$sql = "UPDATE voting_nomination_counter SET quantity=quantity+1 WHERE nid = '$nid' AND nominee = '$nominee'"; 
+1

완벽하게 사용할 수있는 원본 SQL의 백틱을 제거한다는 점을 제외하면 차이점이 있습니까? – Fluffeh

0

@excluded_once 당신이 할 수 있었던 것 같은데! 문제를 해결하십시오. 따라서 미래에는 SQL 문자열에 직접 변수 이름을 사용하지 마십시오. 항상 db_query 또는 db_select를 사용하고 변수를 SQL에 바인딩하면 SQL 주입 및 기타 공격을 막을 수 있습니다.

관련 문제