2014-03-04 3 views
0

mysql_real_escape_string()에 텍스트 입력을위한 쿼리가 추가되었습니다. 사용자가 심볼을 사용하여 텍스트를 작성하면 mysql_real_escape_string()을 통과하고 잘 작동하지만 다른 웹 사이트에서 복사 한 텍스트를 붙여 넣을 때 mysql_real_escape_string()을 통과하지 못합니다. 아포스트로피 이후의 텍스트는 잘립니다.아포스트로피를 사용하여 텍스트를 복사하여 붙여 넣을 때 mysql_real_escape_string()을 통과하지 못합니다.

어떻게 해결할 수 있습니까?

사용자가 입력란에 텍스트를 붙여 넣을 때 UTF-8 인코딩이 아닌 것 같습니다. 코어 PHP에서 오류없이 처리 할 수있는 방법이 있습니까? 또한 Pear DB에 솔루션이 있는지 알려주세요.

+0

텍스트가 잘 리거나 오류가 있습니까? 오류가 있으면 무엇입니까? – Quentin

+0

정말 더 많은 코드를 보여야합니다. mysql_real_escape_string은 필요한 이스케이프를 처리해야한다. – Quentin

+0

[** ** 구식 ** 데이터베이스 API] (http://stackoverflow.com/q/12859942/19068)를 사용하고 있으며 [현대 대체] (http://php.net/manual/ko/)를 사용해야합니다. mysqlinfo.api.choosing.php). – Quentin

답변

0

사용자가 URL 인코딩 된 텍스트를 붙여 넣을 수도 있다고 가정하므로 PHP에서 urldecode 함수를 사용하십시오. 가능한 경우 중 하나 일 수 있습니다. 또 하나는 UTF-8을 말했듯이,이 경우 MySQL의 CONVERT 함수를 사용하는 것입니다. 이게 도움이 되길 바란다. 가능하면이 문제를 겪고있는 텍스트와 같은 세부 정보를 입력하십시오.