入力フォームからSQL発行 → シングルクォートが入っていたらエラー

SQL発行より前に、シングルクォートをHTMLエンティティに変換しないといけない。
そこでhtmlspecialcharsを!

ex) htmlspecialchars($hoge, ENT_QUOTES);

引数は【ENT_QUOTES】を使用。
シングルクォートとダブルクォートが変換される。
DBにはシングルクォートが【'】に、ダブルクォートは【"】と、変換した形で挿入される。

そして、表示時。

登録した内容を、再度入力フィールドに表示する際に、
元の記号の形に戻ってないと何かややこしいので、
今度はhtml_entity_decodeの出番。

ex) html_entity_decode($hoge, ENT_NOQUOTES);

引数は【ENT_NOQUOTES】を使用。
ソース上では、シングルクォートもダブルクォートも変換されないまま。
表示ではそれぞれ【’】と【”】になっている。

htmlspecialcharsは知ってたけど、元に戻すっていう関数もあるのね。

2009/10/30 16:19 | PHP | Comments (0)

このブログと私について

2011年2月21日現在

アサオカと申します。

福岡でWEBに関わるお仕事をしています。主に、PHPでのプログラミングをやっています。

ネコとゲームが大好きです。

お仕事で使ったあれこれを、メモメモ書き綴ったり、普通にねこ画像垂れ流してたりします。

現在プレイ中・または予定しているゲーム

Twitterやっております。
お気軽にフォローしてね!

http://twitter.com/ask4416

何かございましたら、こちらのフォームよりお送り願います。