이전 목록 다음
미채택 완료

오류 질문드립니다

2035832587_1690712263.7768.png

 

$sql = " update add_item set contents = '$contents' where COL1 = '$item_no' ";

 

json 으로 받은 데이터를 php 를 이용하여 데이터베이스에 저장하려고 하는데요.

 

위와 같은 데이터를 업로드 하려고 하는데, 업로드 되는 경우도 있고 되지 않는 경우도 있어서요.

 

php.ini 파일에서 설정을 바꿔 보아도 해결이 안되서, 고수님들의 도움을 요청합니다.

 

 

답변 5개 / 댓글 6개

아무래도 필터링하는부분이 걸려서 안되는것 같아요

'이거나 ><이런 특수기호등이 걸려서 인식을 못하는경우가 아닐까 싶네요

JSON 을 받는 코드가 어떻게 구성되어 있는지 알 수가 없어서 뭐라고 할 수 없는 것입니다.
$R = json_decode($json_received, true);

json_decode 한 후 
echo var_dump($R); 
echo print_r($R); 
이렇게 출력해서 보세요..
<pre></pre> 태그를 쓰면 보기 편하게 정렬 할 수 있습니다.
참고하세요.

error_reporting(E_ALL);
ini_set('display_errors', 1);
일단 상위에 넣어서 오류내용을 살펴보시는게 좋을 듯합니다.

개인적인 의견으로써는 되는경우도 않되는경우도 있다고하니 ....

체크해보시는게 좋을듯 합니다.


파일 업로드 관련설정 파일(php.ini)에서 upload_max_filesize, post_max_size, max_execution_time 등의 값을 적절하게 설정해야 합니다.
또한, 파일 업로드 관련 함수(move_uploaded_file() 등)를 올바르게 사용하는지 확인해 주시구요.

에러 내용 뭔가요?

답변에 대한 댓글 6개

위의 데이터가 업로드가 되는 경우도 있고, 되지 않는 경우도 있어서요.

되지 않는 경우가 왜 생기는지 질문드린 겁니다.
$contents 이변수 궁금한데요 값이 어떤건지 필터링이 되버린건지.. 궁금해요
$data = json_decode($res);
$item7 = $data->...->desc;
$contents=$item7->contents->item;

제가 테스트 해 본 결과
$contents=preg_replace("/[ #\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/i", "", $item7->contents->item);
이런 식으로 특수문자를 제거하면 특수문자를 제외한 나머지 문자가 업로드 되기는 하더라고요
근데 말씀드렸듯이 저렇게 안해도 정상적으로 업로드가 되는 경우도 있고, 되지 않는 경우도 있어서
정확히 뭐가 문제인지는 모르겠습니다
preg_replace 이거를 없애고 그냥 등록해보세요. 저것때문에 제거 된거 같아요
그게 아니라 preg_replace 를 제거하면 업로드가 안되요. 원인을 분석중에 저런식으로 해봤더니 특수문자를 제외한 글자는 업로드 됐다는 겁니다.
단서가 부족하네요.. 그럴수가 없을건데요..

답변을 작성하려면 로그인이 필요합니다.