2012-01-28 5 views

답변

1

나중에 누군가에게 문제가 생겨서 sprintf가 따옴표 함수에 의해 생성 된 각 문자열을 주입 할 때 인용 부호가 'blob'유형을 설정한다는 점에 유의하십시오. 중요한 부분은 "file : //"을 파일에 대한 참조와 함께 사용하여이 방식으로 작동하는 것 같습니다.

$ database는 일반적으로 다른 예제 온라인에서 제공되는 mdb2 객체입니다.

아래 // 참고 : 인용 기능 또는 하위 계층이 - // 인용 방법이 등장, 그 통해 몇 가지 이유 변수에 있던 원시 바이트를 전달할 수없는 // 아래와 같이 파일 참조가 필요 바이트를 수정하려면 - 아마 그것은 charset을 가정하기 때문에?

$sql = 'UPDATE %s SET %s=%s WHERE iconid=%d'; 
$sql = sprintf ($sql, 
     $database->quoteIdentifier('chanicon'), 
     $database->quoteIdentifier('icondata'), 
     $database->quote("file://".$_FILES['userfile']['tmp_name'][0], 'blob'), 
     $database->quote($_REQUEST['iconid'], 'integer') 
     ); 
관련 문제