• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP+MySQLでエスケープされたデータを格納したい。)

【解決法あり】PHP+MySQLでエスケープされたデータを格納する方法

このQ&Aのポイント
  • php.iniの設定でmagic_quotes_gpcをOffにして、mysql_real_escape_stringを使用してデータをエスケープし、MySQLに格納する方法について説明します。
  • 質問のような場合、magic_quotes_gpcをOffにすることでバックスラッシュが格納されず、エスケープされたデータを格納することができます。
  • しかし、mysql_real_escape_stringを使用してもシングルクォートがエスケープされない場合があります。この問題を解決するためには、addslashes関数を使用することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • meenie
  • ベストアンサー率44% (40/90)
回答No.1

MySQLでは、クオートは特殊文字となっており、\がエスケープ文字です。 そのため、\'user\'をInsertすると'user'となります。 Insert後が\'user\'の形となるためには、\\\'user\\\'となるように してください。 [\\] -> [\], [\'] -> [']と変換され、 最終的に\'user\'の形でInsertされると思います。

php_q123
質問者

お礼

早速のご回答ありがとうございます! クオートは特殊文字で\がエスケープ文字なんですね。 \\\'user\\\'にしたら\'user\'で格納されました。 ありがとうございました^^ ちなみに、質問のコードはSQLインジェクション対策にはなっているんでしょうか? 「'user'」はデータとして格納されているという認識でよろしいのでしょうか? ご回答にご質問してしまってすみません。 お返事いただければ幸いです。

関連するQ&A