본문 바로가기

PHP 싱글쿼테이션(') 및 특수문자 처리하기

반응형

MySQL에서 싱글 쿼테이션은 문자열이라는 것을 의미한다. 따라서 이 싱글 쿼테이션이 문자열이라는 것을 밝이는 의미가 아니라 그냥 캐릭터로써 읽히고자 한다면 \' 이런식으로 사용하게 된다.
하지만, 문자열 내에 포함된 싱글 쿼테이션을 처리하려면 어떻게 해야 할까?
서론을 봐도 무슨 말인지 모르겠다면 예를 들어 보자


$s = "I'm your father"
$query = "SELECT * FROM 테이블명 WHERE 필드명 = '$s' " ;

일때 에러가 발생한다.
그 이유는 WHERE 문의 싱글 쿼테이션이 $s 에 포함된 싱글쿼테이션과 함쳐져서 3개가 되기 때문이다.

이것을 해결하기 위한 방법은 다음과 같다.

  addslashes()
특정 특수 문자 앞에 자동으로 역슬레쉬 (\)를 붙여준다.

$s = "I'm your father"
$s = addslashes($s) ;

출력 결과 :I\'m tour father

 

  stripslashes()
addslashes() 함수를 통해 표기된 '\' 문자를 원래대로 돌려준다.

$s = stripslashes($s)

출력결과 : I'm your father

 

반응형

댓글


Copyright ⓒ SmartWeb All rights reserved.