> 데이터 베이스 > MySQL 튜토리얼 > MySQL 쿼리에서 특수 문자를 올바르게 이스케이프하려면 어떻게 해야 합니까?

MySQL 쿼리에서 특수 문자를 올바르게 이스케이프하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-14 14:18:10
원래의
959명이 탐색했습니다.

How Do I Properly Escape Special Characters in MySQL Queries?

MySQL 쿼리에서 특수 문자 이스케이프

특수 문자가 포함된 MySQL 쿼리를 작성할 때 구문 오류를 방지하려면 특수 문자를 이스케이프하는 것이 중요합니다. 특수 문자는 악의적인 목적으로 악용될 수 있으므로 사용자 입력을 처리할 때 이는 더욱 중요해집니다.

다음 예를 고려하세요.

select * from tablename where fields like "%string "hi"  %";
로그인 후 복사

이 쿼리에서 큰따옴표는 문자열 "hi"는 문자열 자체의 일부로 해석되어 구문 오류가 발생합니다.

이스케이프 요구 사항

필요한 특정 이스케이프 시퀀스는 사용되는 특수 문자에 따라 다릅니다. MySQL은 다음 이스케이프 시퀀스를 인식합니다.

  • ' ' - ASCII NUL(0x00) 문자
  • ''' - 작은따옴표 문자
  • '"' - 큰따옴표 문자
  • 'b' - 백스페이스 문자
  • 'n' - 줄 바꿈 (라인피드) 문자
  • 'r' - 캐리지 리턴 문자
  • 't' - 탭 문자
  • 'Z' - ASCII 26(Control-Z)
  • '' - 백슬래시 문자
  • '%' - 백분율 문자
  • '_' - 밑줄 문자

해결 방법

예제 쿼리에서 큰따옴표를 이스케이프하려면 쿼리를 작성해야 합니다. 다음과 같습니다:

select * from tablename where fields like '%string \"hi\" %';
로그인 후 복사

또는 작은따옴표를 문자열로 사용할 수 있습니다. 구분 기호:

select * from tablename where fields like '%string ''hi'' %';
로그인 후 복사

이 접근 방식은 문자열 내의 작은따옴표를 이스케이프할 필요가 없도록 하여 이스케이프를 단순화합니다.

위 내용은 MySQL 쿼리에서 특수 문자를 올바르게 이스케이프하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿