채택완료

db안에 있는 문자열 'xxxx'를 꺼내올때 \'로 변환 문제

2019-10-25 (금) 01:09:36 2,444

안녕하세요 현재 알림톡을 연동중에 있습니다.

1030058302_1571933208.6883.jpg

알림톡 템플릿 본 내용 중에

--> 직원에게 '매장 확인' 버튼 클릭 요청

이라는 문구가 있는데요,

'매장 확인' 부분을 db에서 꺼내올 때 \'매장 확인\'으로 자동 변환이 되는것 같습니다.

이 오류를 고칠 수 있는 방법이 있을까요?

어느 쪽을 수정하면될지 고수님들의 답변 부탁드리겠습니다 ! 

답변 2개 / 댓글 1개

채택된 답변
+20 포인트

DB에서 가져온값을 $row['content'] 라고 가정하고

$msg = stripslashes($row['content'] ); 

가 되어야 맞는것 같습니다.

addslashes 는 특수문자를 db에서 충돌방지를 위해서 \' 와 같은 처리를 해주는걳이고

stripslashes 는 반대로 제거하는 기능입니다.

https://zetawiki.com/wiki/PHP_stripslashes()

답변에 대한 댓글 1개

감사합니다 :)

한 두시간 머리싸매고 결국 해결했습니다.

추후 저같은 이슈를 가진 분들을 위해 자답하겠습니다.

$xxx = addslashes($xxx);

addslashes라는 함수 때문에 발생한 오류였습니다.

mysql에 올리기전에 따옴표 끼리의 충돌을 막기위해 \를 추가해주는 함수라고 하는군요

반대로 stripslashes() 함수는 '\' 가 표기된 문자를 원래대로 되돌려 주는 함수라고 합니다.

http://ezbrother.blogspot.com/2016/02/php-mysql-insert-single-quotation-marks.html

제가 참고한 글입니다.

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