PHPの質問です。連想配列をその構造を保ったままでMySQLに保存したいと思っています。連想配列をserialize()を使って変換したのですが、そのままMySQLに書き込もうとすると書き込めません。おそらく変換した文字列に「"」「;」などの記号が含まれているためで、それをhtmlspecialchars()で変換するとMySQLに書き込めるのですが、そうすると今度はunserialize()で復元できません。基本的なところだと思うのですが、こういうときはどうすれば良いかどなたか教えてください。

回答の条件
  • 1人2回まで
  • 登録:2007/11/22 00:42:34
  • 終了:2007/11/22 01:07:29

ベストアンサー

id:t_shiono No.1

t_shiono回答回数256ベストアンサー獲得回数222007/11/22 00:47:37

ポイント60pt

htmlspecialcharsではなく、mysql_real_escape_stringではいかがですか?

http://jp2.php.net/manual/ja/function.mysql-real-escape-string.p...

あるいは、格納はそのままにして、取得した際に、htmlspecialchars_decodeで特殊文字を元に戻すというのもいけるのかもしれません。

http://jp.php.net/manual/ja/function.htmlspecialchars-decode.php

未確認で申し訳ないですが、参考になれば。

id:pha

後者のhtmlspecialchars_decodeを利用してみたところ、無事できました!

ありがとうございますー

2007/11/22 01:07:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません