2013-04-15 2 views
0

어쩌면 ive가 컴퓨터의 infront에 너무 오래 앉아있을 수 있지만 다음 문제를 해결할 수없는 것 같습니다.데이터베이스 항목 업데이트

사용자 ID를 기반으로 데이터베이스에서 선택하려고합니다. 하드 코딩하여 작동합니다. 예 : 나는 $ _GET을 사용하면 단순히 에코 때이 오류가 주소 표시 줄이

update.php?id=1 

을 보여줍니다 때

$q = 'SELECT * FROM users WHERE id = 1 LIMIT 1'; 

하지만 [ 'ID는'] 나는 오류

$q = 'SELECT * FROM users WHERE id = $_GET[id] LIMIT 1'; 
//mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given... 

를 얻을 수 $ _GET [ 'id'] 작동합니다. 그렇다면 왜 $ _GET [ 'id']가 내 쿼리에서 작동하지 않습니까? 필자는 또한 변수로 설정하기 전에 쿼리에 바로 입력하려고했지만 실패했습니다.

+1

시도를하려고 'LIMIT 1' "$ _GET [ID]..";' – Fabio

+0

당신이 준비가되어 있다는 것을 알고 있어야 mysql injection에 대해서 – Fabio

+0

분명히 나는 ​​그것을 너무 오랫동안 바라보고 있었다. 그게 SQL 주입에 관해서는, 내가이 부분을 한 번 가지고 정렬됩니다. 감사. – tony09uk

답변

0

나는 $ q = 'SELECT * FROM id ='. $ _ GET [id] '를 시도 할 것입니다. LIMIT 1 ';

0

은 '사용자가 SELECT * FROM WHERE ID ='그 방법`$ q를 = 캡슐화 $q = 'SELECT * FROM users WHERE id = '.$_GET[id].' LIMIT 1';

관련 문제