> 데이터 베이스 > MySQL 튜토리얼 > PHP를 사용하여 작은따옴표가 포함된 문자열을 MySQL에 안전하게 삽입하려면 어떻게 해야 합니까?

PHP를 사용하여 작은따옴표가 포함된 문자열을 MySQL에 안전하게 삽입하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-11-30 15:59:12
원래의
584명이 탐색했습니다.

How Can I Safely Insert Strings with Single Quotes into MySQL Using PHP?

MySQL 삽입을 위해 PHP에서 작은따옴표를 이스케이프 처리

MySQL 데이터베이스에 데이터를 삽입하려면 특수 문자가 포함된 문자열을 처리해야 하는 경우가 많습니다. 작은따옴표를 처리하는 것은 특히 까다로울 수 있습니다.

문제

두 개의 SQL 문을 사용하여 양식의 데이터를 삽입하고 처리하는 시나리오가 설명되었습니다. 데이터베이스에 데이터를 삽입하는 데 사용된 첫 번째 문은 문제 없이 작동했습니다. 그러나 데이터를 검색하고 이메일을 트리거한 두 번째 문은 이름에 작은따옴표(예: "O'Brien")가 포함되어 있으면 MySQL 오류로 인해 실패했습니다.

해결책

해결책은 데이터베이스에 삽입되는 문자열을 이스케이프 처리하는 것입니다. PHP는 이러한 목적으로 mysql_real_escape_string() 함수를 제공합니다. 작은따옴표와 같은 문자를 이스케이프된 해당 문자로 대체하여 오류와 데이터 손상을 방지합니다.

왜 동작이 다른가요?

두 문 사이의 동작이 다른 이유 Magic_quotes_gpc를 사용했기 때문일 가능성이 높습니다. 이 PHP 구성은 $_GET, $_POST 및 $_COOKIES에서 수집된 문자열을 자동으로 이스케이프합니다. 첫 번째 문에서는 양식에서 직접 데이터를 캡처했는데, 이렇게 자동 이스케이프가 적용되었습니다.

그런데 두 번째 문에서 데이터를 검색해 삽입하니 더 이상 이스케이프가 되지 않았습니다. 결과적으로 이름의 작은따옴표로 인해 MySQL 오류가 발생했습니다. mysql_real_escape_string()을 사용하면 두 문자열을 모두 적절하게 이스케이프하여 특수 문자가 올바르게 처리되고 데이터 무결성이 유지되도록 할 수 있습니다.

위 내용은 PHP를 사용하여 작은따옴표가 포함된 문자열을 MySQL에 안전하게 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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