PDOプリペアドステートメントを使用してデータをMySQLデータベースに挿入していますが、文字列内のアポストロフィ(一重引用符)がバックスラッシュ(\
)を前に付けてデータベースに格納されていることに気付きました。
私はstripslashes($string)
出力で使用します、そしてもちろんこれはそれらを取り除きます。
サーバーのphpinfo()
情報(PHPバージョン5.2.17)で「magic_quotes」を検索したところ、次のことがわかりました。
- magic_quotes_gpc:ローカル値=オン、マスター値=オン
- magic_quotes_runtime:ローカル値=オフ、マスター値=オフ
- magic_quotes_sybase:ローカル値=オフ、マスター値=オフ
まず、magic_quotes_gpcをオフにすると、バックスラッシュの発生を防ぐことができますか?現在、サーバーのphp.iniマスター設定にアクセスできませんが、理解しているように、ディレクティブを使用してルート.htaccessファイルを構成することで無効にできますphp_flag magic_quotes_gpc Off
。
第二に、データベースでのこれらのバックスラッシュの防止は望ましいですか?ここで「やる前によく考えなさい」というやや不可解な発言を見たので、これをお願いします。