スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[PHP] mysql_escape_string って何してんのというメモ

いちおうスクリプトを組んでサーバにおいてはいるものの、Webページで開かれるのってどうなのっていう内容だったので結果だけざっくりとメモにしておきます。

mysql_escape_string() は使用が非推奨となっていて、「カレントの文字セットを考慮したエスケープを行う」 mysql_real_escape_string() を使えとなっていますが、だいたいの動きとしては同じようなものなのでその動作を見ておくのは損にはならんだろうということで。

いくつか文を与えてみるとこんな感じ。


[!"#$%&\'()=~|`{+*}<>?_]
 → [!\"#$%&\\\'()=~|`{+*}<>?_]
[たとえば普通の日本語の文]
 → [\た\とえ\ば普通\の日本�\��\の文]
[Mr.Fukusui did not go home in Bon.]
 → [Mr.Fukusui did not go home in Bon.]
[ダメ文字的なもの:能表暴]
 → [\ダ\メ文字\的\なも\の�\��\能表\�\�]



それぞれの文字で見たかったので、文字コードを数値としていくつか回してみるとこんな感じ。
変換前と変換後で違ったものだけピックアップ。


0(0) [�] → [\0]
10(A) [ ] → [\n]
13(D) [ ] → [\r]
26(1A) [] → [\Z]
34(22) ["] → [\"]
39(27) ['] → [\']
92(5C) [\] → [\\]



[0x00] ... NULL (\0)
[0x0A] ... LF 改行
[0x0D] ... CR 復帰
[0x1A] ... 置換 (EOFとして多く使用される)
[0x22] ... ダブルクォート
[0x27] ... シングルクォート
[0x5C] ... バックスラッシュ(\)

 試せるサーバで pg_escape_string() が使えなかったので、そっちは試していませんがほぼ同内容かと思われます。どっちにしても日本語環境で使うには癖があるので、自前で同様のものを作ったほうが無難かなあと思われます。
 普通の Webシステムであれば、「"」「'」「\」を処理しとけば問題ないようだし。

function escapeSqlStr( $str ){
$str = str_replace( "'", "''", $str );
$str = str_replace( "\"", "\"\"", $str );
$str = str_replace( "\\", "\\\\", $str );
return( $str );
}



 こんな感じか。
スポンサーサイト

[PHP] Google Maps API のルート表示を試してみた

コード自体は下記に示されているサンプルのほぼそのままなので省きますが、ごくシンプルなものです。

Google Japan Blog: ルート案内 API が日本でも使えるようになりました
http://googlejapan.blogspot.com/2009/06/api.html

起点名と終点名が、Google Maps API の理解できるものであればルート表示されます。
お試し下さい。↓



起点と終点を与えるだけ。それだけで中央位置はきちんと設定されてくれるみたいですが、
先に中心点を与えないとチラチラするかも。なので、起点と終点を受けるスクリプト内では、起点の名前をもとに座標を拾ってきています。

あとは、HTMLとして座標と起点名・終点名をセットするだけ。


2010/04/02 追記:

あれ? デフォルト指定してる彦根駅だとルート検索できなくなってる。
エラーコードを見る限りは602なので、
http://code.google.com/intl/ja/apis/maps/documentation/reference.html#GGeoStatusCode

指定された住所の対応する地理的位置が見つかりませんでした。これは、住所が比較的新しいか、正しくないことが原因である可能性があります。


こうなんだけど、前までいけてたと思ったんだけどなあ。

と思ったら、なんかやっぱり変わってるっぽい。

マップAPI ルート案内もちょと変わったっぽい
http://kame-taro.spaces.live.com/Blog/cns!CD806281181610EF!1421.entry?sa=136731371

GoogleさんのAPIはすごく便利なのだけど、こういう仕様の変更がポコポコ起こるから、
個人で遊んでるぶんにはいいけど仕事で使いにくいんだよなあ。

「大阪市」→「神戸市」とかだと正常に表示されるけど、
「難波」→「心斎橋」だとだめだったり。うーん?

タグ : PHP GoogleMaps

検索フォーム
リンク
最新記事
最新コメント
カテゴリ
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。