mysql_real_escape_string() mysql.comドキュメントから:
mysql_real_escape_string() は文字セットを認識しているため、そのすべての機能を複製することは(特にマルチバイト攻撃の問題に対して)、少量の作業ではありません。
http://cognifty.com/blog.entry/id=6/からaddlashes_dont_call_it_a_comeback.html :
AS = addslashes() MRES = mysql_real_escape_string() ACS = addcslashes() //called with "\\\000\n\r'\"\032%_" Feature AS MRES ACS escapes quote, double quote, and backslash yes yes yes escapes LIKE modifiers: underscore, percent no no yes escapes with single quotes instead of backslash no yes*1 no character-set aware no yes*2 no prevents multi-byte attacks no yes*3 no