PHP と MySQL を使用して、コメント付きのシンプルなニュース システムを作成しました。これは、Fedora 10 マシンと Windows 7 マシンの両方で、ローカルの Apache サーバーでうまく機能しました。問題が発生しましたが、Web ホストにアップロードしましたが、すべての ' と " を \' と \" として返し続けます。
これは、セキュリティ上の理由でそれらを自動的に追加する Web ホストであるか、MySQL が間違った照合であると考えていますが、まだ解決できておらず、複数の MySQL 照合をテストしています。
クエリの例を次に示します。
mysql_query("INSERT INTO news (title, poster, text, time) VALUES ('$newstitle', '1', '$newstext', '$time')") or die(mysql_error());
$time
istime();
$newstitle
と$newstext
are parsed fromであり、クエリを実行$_POST
する前に両方が実行さmysql_real_escape_string()
れます (これが問題である可能性がありますが、セキュリティの一部であるため、削除したくありません。また、問題が発生しなかったためです)私のローカルサーバー上)
最後のメモとして: 私のローカル Apache サーバーlatin1_swedish_ci
では、Web ホスト サーバーでは機能しませんでした。
編集:
データベースでは次のようになります。
\'\'\'\"\"\"
私のローカルのものには余分なバックスラッシュがありませんでしたので、それを追加するのはPHPである必要があります。余分なバックスラッシュを削除する関数を追加する以外に、これを解決する方法はありますか?