반응형
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
반응형
'PHP∵SCRIPT' 카테고리의 다른 글
[PHP] dirname()함수와 $ SERVER 관련 상수들 (0) | 2016.10.21 |
---|---|
PHP 배열 함수 정리 (0) | 2016.02.03 |
PHP 파일 입출력 (0) | 2016.02.03 |
PHP 문자열 대소문자 변환 함수들 (0) | 2016.02.03 |
PHP 문장에 포함된 기호나 숫자등을 추출하기 (0) | 2016.02.03 |
PHP 특정 문자 존재 유무 및 문자 변환 함수들 (0) | 2016.02.03 |
PHP 기본적인 배열 사용법 (0) | 2016.02.03 |
php set_time_limit 함수 - 타임아웃 설정 (0) | 2016.02.01 |
댓글