Home > MySQL | 雑記 > mysql_escape_stringの罠

mysql_escape_stringの罠

仕事でずいぶん前に作られたPHPをいじっていました。

DBの型も、PHPの入力チェックも通っているのに
なぜかSQLエラーが出ていたので調べてみました。

 
諸悪の根源はPHPファイルがSJISだったことであるようです。

エラーを出している部分は以下の部分でした。

$hoge = mysql_escape_string($hoge);

こうするとPHPファイル自体がSJISの場合、
$hogeに¥(円マーク)が入ってしまうケースがあり、
SQLエラーが起こっていました。

 
そこで以下に変更しました。

mysql_set_charset(’sjis’);
$hoge = mysql_real_escape_string($hoge);

mysql_real_escape_stringは
mysql_set_charsetの文字コードを見て$hogeを変換してくれるそうです。

 
ちゃんとした作りにしようと強く実感しました(苦笑)
 

関連記事

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://cafe-system.com/system102.html/trackback
Listed below are links to weblogs that reference
mysql_escape_stringの罠 from カフェ関連サイトのシステム開発日記

Home > MySQL | 雑記 > mysql_escape_stringの罠

Archives
Tag Cloud
Feeds

Return to page top