티스토리 뷰
[php,mysql] 쌍따옴표,홑따옴표 insert 하는 방법 addslashes - double, single quotation insert
xemaker 2017. 1. 29. 23:18php mysql 프로그래밍(코딩)을 하다 보면 html 태그를 그대로 insert 할 일이 있다. 이럴때 그냥 sql문을 쓰면 insert 하다가 오류를 발견할 것이다.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Nanum Gothic';}* {font-family:'Nanum Gothic' !important;}.soccer-formation,.hock' at line 1
위와 같은 SQL syntax 오류를 발견할 것이다. 즉 SQL 문법 오류, SQL문이 잘못됐다는 것이다.
그 이유는 html 코드에는 SQL에서 특수문자로 처리되는 것이 많이 있다. 즉 이스케이프(escape) 해야한다. 그래서 이러한 문자들을 처리해줘야 한다.
이때 사용하는 것이 php의 addslashes() 함수다.
php 매뉴얼을 살펴보면
(PHP 4, PHP 5, PHP 7)
addslashes — 문자열을 슬래시로 인용
설명 ¶
$str
)데이터베이스 질의 등에서 처리할 필요가 있는 문자 앞에 백슬래시를 붙인 문자열을 반환합니다. 이 문자들은 홑따옴표('), 겹따옴표("), 백슬래시(\), NUL(NULL
바이트)입니다.
addslashes()를 사용하는 대표적인 예는 데이터베이스에 데이터를 넣을 때 입니다. 예를 들어, 데이터베이스에 O'reilly라는 이름을 넣으려고 할때, 이스케이프할 필요가 있습니다. 대부분의 데이터베이스는 \을 사용하기에 O\'reilly가 되어야 합니다. 이 데이터를 데이터베이스에 넣으면 추가한 \은 저장되지 않습니다. PHP 지시어 magic_quotes_sybase를 on으로 설정하면 '은 '을 이용하여 이스케이프합니다.
자세한 내용은 아래의 php 매뉴얼을 살펴보면 된다.
http://php.net/manual/kr/function.addslashes.php
'스크래핑,파싱' 카테고리의 다른 글
댓글 파싱 (0) | 2017.11.05 |
---|---|
파싱,스크래핑,크롤링 의뢰시 좋은 예 (0) | 2017.06.15 |
유닉스/리눅스 웹 페이지 호출 - curl 사용방법 (0) | 2017.04.23 |
xe 파싱시 제목으로 중복 체크 하는 방법 (0) | 2017.04.23 |
[php] html 태그를 없애고 싶을때 - strip_tags (0) | 2017.01.30 |
- Total
- Today
- Yesterday
- JDBC
- 라이믹스 모듈
- 오라클
- webix
- XE
- 자바
- EC
- 스크래핑
- xe addon
- 이클립스
- 프로씨
- ocajp
- proc
- 인포믹스
- XE3
- 자바 smtp
- 플러터
- 파이썬
- esql
- 포인터
- xe애드온
- php
- ocjap
- C언어
- KG
- 파싱
- MySQL
- C
- 문자열
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |