MySql에서 아포스트로피 ( ')를 피하는 방법?
MySQL의 문서 가되어야한다고 말한다 \'
. 그러나 scite와 mysql은 모두 ''
작동합니다. 나는 그것을 보았습니다. 어떻게해야합니까?
당신이 인용 한 MySQL 문서는 실제로 당신이 언급 한 것보다 조금 더 말합니다. 또한 말합니다
"
'
"로 인용 된 문자열 내의 "'
"는 " "로 쓸 수 있습니다''
.
(또한 MySQL 5.0 버전의 표 8.1. 특수 문자 이스케이프 시퀀스 에 연결했으며 현재 버전은 5.6이지만 현재 표 8.1. 특수 문자 이스케이프 시퀀스 는 매우 유사합니다.)
나는 매개 변수 에backslash_quote (string)
대한 Postgres 메모 가 유익 하다고 생각합니다 .
따옴표를
\'
문자열 리터럴로 표시 할 수 있는지 여부를 제어합니다 . 따옴표를 나타내는 기본 SQL 표준 방법은 따옴표를 두 배로 늘리는 것 (''
)이지만 PostgreSQL은 역사적으로도 받아 들였습니다\'
. 그러나를 사용\'
하면 보안 위험이 발생합니다.
즉, 이중 인용 부호 문자를 사용하는 것이 작은 따옴표를 이스케이프 처리하기 위해 백 슬래시를 사용하는 것보다 전체적이고 장기적으로 더 나은 선택입니다.
이제 언어 선택, SQL 데이터베이스 및 비표준 쿼크 및 쿼리 프레임 워크 선택을 방정식에 추가하려는 경우 다른 선택으로 끝날 수 있습니다. 제약 조건에 대한 많은 정보를 제공하지 않습니다.
표준 SQL은 큰 따옴표를 사용합니다. MySQL은이를 합리적으로 준수해야합니다.
'He said, "Don''t!"'
user2087510의 의미는 다음과 같습니다.
name = 'something'
name = name.replace("'", "\\'")
나는 또한 이것을 성공으로 사용했다.
그냥 ''
대신 '
두 번 쓰세요'
예를 들면 다음과 같습니다.
SELECT * FROM pubs WHERE name LIKE "%John's%"
작은 따옴표를 묶으려면 큰 따옴표를 사용하십시오.
작은 따옴표를 사용한다고 주장하고 문자를 이스케이프 해야하는 경우 :
SELECT * FROM pubs WHERE name LIKE '%John\'s%'
내가 알고있는 세 가지 방법이 있습니다. 첫 번째는 가장 아름답 지 않고 두 번째는 대부분의 프로그래밍 언어에서 일반적인 방법입니다.
- 다른 작은 따옴표를 사용하십시오.
'I mustn''t sin!'
\
작은 따옴표 앞에 이스케이프 문자 를 사용하십시오'
.'I mustn\'t sin!'
- 작은 따옴표 대신 큰 따옴표를 사용하여 문자열을 묶습니다.
"I mustn't sin!"
아포스트로피가있는 데이터 포인트가 있으면 아포스트로피 앞에 하나의 아포스트로피를 추가 할 수 있다고 생각합니다.
예. '이 곳은 요한의 장소입니다'
여기서 MYSQL은 'This is John' 's place'라는 두 문장을 가정합니다.
당신은 '이곳은 요한의 장소'입니다. 나는 그것이 그렇게 작동해야한다고 생각합니다.
PHP에서는 SQL 문에 사용하기 위해 문자열에서 특수 문자를 이스케이프하는 mysqli_real_escape_string ()을 사용하는 것이 좋습니다.
참조 https://www.php.net/manual/en/mysqli.real-escape-string.php를
문자열을 교체
value = value.replace(/'/g, "\\'");
여기서 value는 데이터베이스에 저장할 문자열입니다.
더욱이,
이것에 대한 NPM 패키지, 당신은 그것을 볼 수 있습니다
https://www.npmjs.com/package/mysql-apostrophe
이것은 효과가 있었다 :
name = 'John O'Brien'
name = name.replace("\'", "\\\'")
참고 URL : https://stackoverflow.com/questions/9596652/how-to-escape-apostrophe-in-mysql
'programing tip' 카테고리의 다른 글
반응 형 이미지 맵 (0) | 2020.07.02 |
---|---|
타입 힌트를 사용해 복수의 리턴 타입을 지정하는 방법 (0) | 2020.07.02 |
Gulp.js 작업, src로 돌아 갑니까? (0) | 2020.07.02 |
파이썬 모듈의 argparse 부분에 대한 테스트를 어떻게 작성합니까? (0) | 2020.07.02 |
에뮬레이터에서 Google Play 서비스 업데이트 (0) | 2020.07.02 |