Menu

#214 cubrid_real_escape_string() returns NULL for JSO string value

open
nobody
None
5
2012-08-25
2012-08-25
Jira Trac
No

http://www.cubrid.com/zbxe/507277

2012.08.24 15:55:29

큐브리드버젼

CUBRID 2008 R4.1 CUBRID 2008 R4.1 (8.4.1.2032) (32bit release build for Windows_NT) (Apr 5 2012 14:37:00)

사용환경(OS)

Windows 7 PHP Version 5.3.5

안녕하세요, 금일 특이한 현상이 발견되어 문의드립니다.
버그일 가능성도 있어 보입니다.

PHP API를 사용하여 쿼리를 실행하기에 앞서 UPDATE 될 값들을 cubrid_real_escape_string() 함수로 이스케이핑 처리하고 있습니다.

그런데, 짦은 데이터는 문제 없이 리턴이 오고 조금 긴 데이터는 빈 값으로 리턴이와 문의드립니다.

===================================== (환경 정보) =====================================

PHP 버전 : 5.3.5

큐브리드 모듈은 아래와 같이 로드됨.

큐브리드 서버 정보: CUBRID 2008 R4.1 (8.4.1.2032) (32bit release build for Windows_NT) (Apr 5 2012 14:37:00)

=====================================

실행된 쿼리의 템플릿은 아래와 같습니다.

UPDATE ELP_TEST_RESULT SET TEST_SN = 204964 , RESTORE_DATA = '' WHERE TEST_RESULT_SN = 221137

적색 표기된 컬럼(RESTORE_DATA)에 들어갈 문자열이 문제가 발생했으며,

cubrid_real_escape_string() 함수를 사용하여 문자열을 이스케이핑하였으나 아래 데이터1은 정상적으로 리턴이 오는 반면,

데이터2의 경우에는 빈 값으로 리턴이 옵니다.

관련하여 아래 링크를 통해 확인해 보니, ansi_quotes 의 값이 기본이 yes로 되어 있다고 하여,

no로 변경하기 위해 cubrid.conf 에 ansi_quotes=no 를 추가하고 DB를 재시작하였지만 문제는 계속 발생합니다.

(참고한 링크 주소) http://www.cubrid.org/manual/841/ko/특수%20문자%20이스케이프

이 문제를 해결하기 위해서는 어떻게 해야 할까요?

데이터 양이 긴 것은 아니고, 단지 데이터가 JSON 문자열이다 보니 발생하는 듯한데 이런 경우 처음이라....

빠른 답변 부탁드립니다.

[데이터1 - 문제 없음]

{page:1,history:{ITL-PS-0999-Q59:{status:,joined:false,checked:false,passed:false,log:{selectedIndex:[0]}},ITL-PS-0999-Q60:{status:,joined:false,checked:false,passed:false,log:{selectedIndex:[0]}}}}

[데이터2 - 문제 발생]

{page:0,history:{ITL-PS-0999-Q1:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q2:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q3:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q4:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q5:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q6:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q7:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q8:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q9:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q10:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q11:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q12:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q13:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q14:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q15:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q16:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q17:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q18:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q19:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q20:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q21:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q22:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q23:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q24:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q25:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q26:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q27:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q28:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q29:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q30:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q31:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q32:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q33:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q34:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q35:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q36:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q37:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q38:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q39:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q40:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q41:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q42:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q43:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q44:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q45:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q46:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q47:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q48:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q49:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q50:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q51:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q52:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q53:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q54:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q55:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q56:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q57:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q58:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q59:{status:,joined:false,checked:false,passed:false,log:null},ITL-PS-0999-Q60:{status:,joined:false,checked:false,passed:false,log:null}}}

Discussion

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.