최근에 문제가 발생하면 같은 MySQL의 쿼리, 분명히 같은 문자열이 아니라 결과처럼, 많은 다시 후 정보를 찾기 위해, 그리고 마지막으로 문자열이 문제를 탈출 발견하고, MySQL의 LIKE 탈출 할 때 및 일반 문자 다른.
테스트에서 첫보기 :
1 이 삼 4 5 6 (7) |
|
그것은 LIKE의로 탈출 ","\\ "볼 수"LIKE 이스케이프 문자열을 탈출 보통 조금 다른를 사용합니다.
나는 공식 문서, 이스케이프 문자의 해석을 확인 :
백 슬래시 파서에 의해 한 번에 제거되기 때문에 다시 패턴 일치가 이루어질 때이있다
단일 백 슬래시를 떠나는 것은에 대해 일치합니다.
MySQL은 자신의 파서는 하위 의의 이전 LIKE 결과의 패턴을 한 번 탈출합니다.
즉, "\\"의 예는 처음, 두 번째는 인 "\"로서 이스케이프위한 "."
문자 이스케이프 MySQL의 테스트에서 살펴 보자
1 이 삼 4 5 6 (7) |
|
아, 아무것도 탈출 "%"를 탈출되지 않고, ( "X", "B"는 대체 문자 등의 "X"로 탈출) "_." 등이 탈출했다. 나는 그렇게 두려워 MYSQL 목적이 LIKE 호환성을위한입니다.
LIKE 이스케이프 문자열, 두 배의 총, 처음에는 "%"와 "_"를 탈출 할 때 요약에서, 두 번째는 모든 탈출하지 않습니다. 이스케이프 특수 문자는 http://dev.mysql.com/doc/refman/5.1/en/string-literals.html#character-escape-sequences에서 찾을 수 있습니다
최초의 "에"\\ "교체로 LIKE 이스케이프 볼 수있다", 문자열의 나머지 "\"탈출하고 나머지 문자열 ","탈출. 일반적으로 만족하지 마십시오, "\"특별한 분석 등 눈에 보이지 않는 것입니다.
특수 문자 필터링과 같은 PHP 버전
1 이 삼 |
|
참고 마지막 이중 백 슬래시 백 슬래시 당신이 그것에 대해 생각, 주변, PHP에서 문자열을 변환하는 데, 사실, 팔에 조금 한 차례 네,하지만 필요가 돌았 다, 문제는 메시지를 남길 수있다