参考:
http://hi.baidu.com/catro/blog/item/c9e153e7e40f2f24b9382092.html
http://hi.baidu.com/devel83/blog/item/c367e781f026308af603a6d2.html
http ://hi.baidu.com/nathena/blog/item/498655137ec83bd7f6039e06.html
PHP マニュアルから始めてください..
マニュアル内のアッドラッシュでエスケープされている文字は一重引用符 (') と二重引用符です(" )、バックスラッシュ ()、および NUL (NULL 文字)。
mysql_real_escape_string によってエスケープされた文字については言及されていません。一言だけ
注: mysql_real_escape_string() は % および _
をエスケープしません
MySql の C API.mysql_real_escape_string()..
この関数は、mysql_real_escape_string API を呼び出す前に、まずデータベースが接続されているかどうかを判断することに注意してください
CHECK_LINK(id) //これがこの文です
つまり、これは次のことを意味しますmysql_real_escape_string は、使用する前にデータベースに接続する必要があります
将来的には addslashes だけを使用します... 当分の間、mysql_real_escape_string を忘れても構いません
-------- ------- ------------------
要約すると、
addslashes() は強制的な追加です。接続の現在の文字セットは考慮されません
mysql_real_escape_string() は文字セットを決定しますが、この関数は SQL ステートメント内の特殊文字をエスケープするためにのみ使用されます。データベースに接続した後