아포스트로피가 포함 된 문자열을 참조하는 php 변수가 있지만이 변수를 인용 할 때 문자열을 끝내려한다고 생각합니다. 내 변수는 테이블 데이터 배열에서 읽으므로 테이블에있는 모든 아포스트로피 앞에 "\"를 삽입 할 수 없습니다. $foo
에 "do not"문자열이 포함되어있는 경우 문자열을 끝내지 않고 올바르게 '$foo'
라고 말하면 어떻게됩니까? 감사.php의 견적 내에서 아포스트로피를 무시하려면 어떻게해야합니까?
-2
A
답변
0
당신은 아포스트로피 전에 PHP의 addslashes PHP Manual - Add slashes
$foo = addslashes($foo);
1
당신은 ("\")를 이스케이프 문자를 추가 할 필요가 있다는 생각에서 올바른지를 사용할 수 있습니다.
데이터베이스 데이터를 사용하여이를 수행하려면 addslashes라는 PHP 함수를 사용할 수 있습니다.
그래서 : 당신은 또한 문자열이 작업을 수행 할 수
$escapedString = addslashes($string);
높은 정밀도 기능을 대체 :
$escapedString = str_replace("'", "\'", $string);
당신은 _escaping_에 대해 배울 필요가있다. – SLaks
이것은 db 관련이 있고 그 견적은 SQL 인젝션으로 간주됩니다. 코드의 부족으로 인해 질문이 명확하지 않습니다. 어쨌든 준비된 진술을 사용하십시오. –
질문을 업데이트하여 전체 코드를 보관하지 않으려 고한다면, 나는 당신을 도울 수 없습니다. 문제는 몇 가지 가능한 중복으로 닫힐 수 있습니다. 그 (불분명 함) 나는 질문에 -1을 주었다. –