MySQL関数 エスケープ関数

PostgreSQLにもあった、この関数
当然MySQLにもある

string mysql_escape_string( string prm )

これは、引き渡されたprm中の危険な幾つかの特殊文字に対して、エスケープを付加する
動きが非常に単純で、カレントの文字セット等も考慮しない在る意味単細胞
php4.3.0で非推奨になった
これに限った話ではないがSQLインジェクションの危険性を持つ全てに対応している訳ではないという事。特に %や _はこの関数では対象外

string mysql_real_escape_string ( string unescaped_string [, resource link_identifier] )

現在の文字セットでエスケープ処理を行う頭いい子
見たまんまだが、この関数はMySQLmysql_real_escape_stringをコールして処理を行っている
以下の形式が目標になる

 \x00 \n \r \ ' " \x1a.

第一引数は、エスケープ対象の文字列
第二引数は、コネクション
これを指定しない場合は直近の接続が使用される。なお、直近が見つからない場合はコネクションの確立を図る
この場合はE_WARNINGレベルのエラーが吐かれる

戻り値は成功で結果の文字列
失敗でFALSE