PHPでのPOSTデータは、php.iniがデフォルトの状態なら、
magic_quotes_gpc がOnなので、
自動的に、addslashes()が適用される。
つまり、POSTデータをechoで出力したら、バックスラッシュが入ってるっつーことやね。
で、DBにそのデータを叩き込むと、通常DB側で勝手にバックスラッシュを除去して代入する。
どういうことかというと
フォームで hoge'hoge と入力すると、 POSTで受け取った結果は hoge'hoge になってるわけ。 これをDBに代入すると hoge'hoge として代入されるってこと。 が、DBの型がvarchar binary型とかだったら、話は別。 binaryデータとして扱うので、DB側でバックスラッシュもそのまま代入します。 よって hoge'hoge を代入すると hoge'hoge としてDBに格納される。
ということで、binary型があると、ハマる場合があるので注意。