0

textarea があり、それを mysql に保存しています。
私がmysqlにアップし、それを私の領域にうまくロードするときのいくつかの特別な下

!@#$%^&*()_+-=~<>?{}[]|*-+/:;.,"`

(入力) 文字は mysql へのアップロードで完了しますが、リロードはしません。でリロードしようとします

str_replace("\n", "\\n",$string);

そしてそれはうまくいきます

私がmysqlにアップしたとき、いくつかの特別な以下の文字が機能しません

\'

その上に二重文字を入力しようとすると、mysqlへのアップロードには機能しますが、リロードには機能しません

typing '' to mysql ' but i want typing ' to mysql '

上記のエラー文字(アップとリロード)を最善の方法で処理するにはどうすればよいですか。ありがとう


私のやり方を更新
してください

addslashes($string)

そして、リロードするときに使用します

 str_replace("\n", "\\n",addslashes($string))

それは私のケースで行われました

4

2 に答える 2

0

http://www.php.net/manual/en/function.htmlentities.php

echo htmlentities($str, ENT_QUOTES);

動作する可能性がありますが、mysql エスケープの対象となるため、おそらくより良い解決策です

http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc

/.htaccess
php_value magic_quotes_gpc off

PHP がスラッシュを自動追加するのを防ぎます。その後、それらを SQL に追加できます。

mysql_real_escape_string()

あなたのSQL文で

[テキストボックスの]読み取り時にそれらを削除します

stripslashes()

http://www.php.net/manual/en/function.stripslashes.php

DIV に表示するには、上記で説明したように htmlentities() を実行する必要があります

于 2013-07-02T03:19:01.523 に答える