2012-05-12 2 views
0

현재 Ajax, HTML, JavaScript, PHP 및 SQL과 관련된 재미있는 프로젝트를 진행 중입니다.잘못된 데이터를 업데이트하는 데이터베이스

가능한 한 내 프로젝트를 디버깅했으며, AJAX, HTML 및 JavaScript가 제대로 작동하고 있으며 변수가 서버에 올바르게 전송되는지 100 % 확신합니다.

데이터베이스에서 데이터를 가져 오려고 시도하고이 데이터에서 숫자를 빼고 그에 따라 데이터베이스를 업데이트하려고합니다.

내 데이터베이스 으로 업데이트됩니다. 그러나 올바른 숫자가 표시되지 않습니다. 양식에 1을 제출하면 항상 데이터베이스에서 동일한 숫자를 반환합니다. (나는 그것을 빼기 때문에 이상합니다 ...). 나는 양식의 데이터가 서버에 올바르게 전달되었는지 100 % 확신하므로 문제가 될 수있는 서버 파일을 모두 확인해 주시기 바랍니다.

편집 : 데이터베이스 연결은 db.php에서 이루어지며 올바르게 작성되었습니다. 이것은 테스트되었습니다.

답변

2

SQL 주입 문제를 해결하려면 준비된 문으로 전환해야합니다.

그 외에도이 특정 코드의 문제점은 mysql_query이 숫자를 반환하지 않으면 리소스를 반환한다는 것입니다. 번호를 가져 오려면 행을 가져와야합니다.

+0

감사 잔뜩! 나는 당신의 빠른 대답에 감사합니다. – user1390504

1

난 당신이 php's manual

mysql_query 다음 당신이 만든 쿼리에 의해 반환 된 값을 추출하는 다른 funcion에 전달 될 수 자원 돌려 보면, mysql_query의 반환 값을 착각 생각합니다. 이 같은 것을 수행해야합니다

$res = mysql_query(...) 
$row = mysql_fetch_assoc($res) 
$dec = $res["column_name"] - $some_value 

당신은 sql injection 취약점을 제거하기 위해 $ _REQUEST [...] 배열 값을 확인해야합니다.

1

내가 아는 한, mysql_query은 결과 자체가 아니라 resource을 반환합니다. 그래서 당신은 이런 식으로 코드를 수정해야합니다 :

$res = mysql_query("your_query_here"); 
$row = mysql_fetch_row($res); 
$totaalaantal = $row[0]; 

체크 http://php.net/manual/en/function.mysql-query.php

관련 문제