[PHP] DB 입출력시 따옴표(')를 처리방법[PHP] DB 입출력시 따옴표(')를 처리방법

Posted at 2018.04.06 14:28 | Posted in PHP




■ 따옴표를 처리하는 addslashes(), stripslashes() 함수



PHP에서 문자열에 따옴표(큰 따옴표 : ", 작은 따옴표 : ')가 들어간 내용을 DB 값으로 집어 넣을때 addslashes, stripslashes 를 사용한다.

그런데 HTML에 직접 값을 넣지않고, PHP에서 바로 출력하는 경우 문제가 생겨 간단히 정리하고자 한다.


addslashes : 문자열에 따옴표가 사입된 경우 문자열 앞에 역슬래시(\')를 붙인다.

stripslashes : addslashes를 사용한 해당 문자열의 역슬래시를 제거한다.


단순하지만 아래 출력 코드와 같이 input 트그에 값을 넣눈경우가 있어 이렇게 저리해 보고자한다.





# 소스코드

<?

// 테스트할 따옴표가 들어간 문구

$str = "Rockin' In Rhythm";


echo $str;

echo "<br/><hr/><br/>";


// addslashes를 사용하여 따옴표 앞에 역슬래시를 붙임(\')

echo "addslashes : ".addslashes($str);

echo "<br/><hr/><br/>";


// stripslashes를 사용하여 따옴표 앞에 역슬래시를 제거(\')

echo "stripslashes  : ".stripslashes($str);

echo "<br/><hr/><br/>";



// value값등에 넣을 경우 \"%s\" 식으로 따옴표를 감싸주어서 해결해야 한다.

echo sprintf("<input type='text' value=\"%s\"/>", stripslashes($str));

?>




# 출력결과





위와같이 INPUTE 타입에 콤마를 삽입하는 경우 \"%s\" 로 감싸서 해결하였다.

단순한 실수 지만 순간 왜그러지 라고 계속 생각하느라 시간을 잡아 먹어서 이렇게 정리해 본다.








Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기