2010-04-12 6 views
0

아래 변수를 사용하여 주석을 추가하면 아포 스트로피 앞에 백 슬래시가 인쇄됩니다. 백 슬래시를 제거하려면 어떻게해야합니까? 인쇄 결과를 미리아포스트로피에서 선행 백 슬래시 제거

감사합니다,

예 :

내 룸메이트 \ '의 형제 \'의 전 여자 친구 \ '의 이모가 도요타를 운전.

$comment = mysql_real_escape_string($_POST['comment']); 

답변

1

Note: If magic_quotes_gpc is enabled, first apply stripslashes() to the data. Using this function on data which has already been escaped will escape the data twice. 
3

mysql_real_escape_string() 백 슬래시를 추가, 그래서 당신은 SQL 쿼리 에 안전하게 문자열을 삽입 할 수 -이 SQL Injections에 대한 보호 역할을한다.

그러나 이 함수는 무언가를 출력하고 싶지 않을 때이라는 SQL 쿼리를 만들 때만 사용해야합니다.

문자열을 HTML 페이지로 출력하려면 XSS을 방지하려면 일반적으로 htmlspecialchars 또는 htmlentities을 사용합니다.


이미 몇 백 슬래시가있는 경우

mysql_real_escape_string()를 호출하기 전에,이 때문에 Magic Quotes의 수 있습니다 - 그래서, 당신은 당신이 사용자로부터 얻을 입력에 첫 번째 통화 stripslashes()로 할 수 있습니다 경우 백 슬래시를 복제 할 수 있습니다.

+0

http://php.net/manual/en/function.mysql-real-escape-string.php에서 감사합니다. htmlspecialchars()를 사용하여 출력에 백 슬래시를 없애려면 어떻게해야합니까? – John

+0

htmlspecialchars는 슬래시를 없애지 않으므로 <<과 같은 간단한 인코딩이 가능합니다. 슬래시는 stripslashes를 사용하여 제거됩니다. :) – oedo

0

바로 mysql_real_escape_string이해야 할 대상이 아닙니까? 데이터를 데이터베이스에 삽입하고 다시 가져온 후에도 여전히 슬래시가 표시되는 경우 magic_quotes_gpc 서버 옵션이 해제되어 있는지 확인하십시오.

관련 문제