http://www.wretch.cc/blog/sos80065/34790453
mysql_real_escape_string()會自動在特殊字元前面加上\
例如: $a =what's
就會變成
what\'s
這樣一來就可以防止SQL攻擊。
例如有段程式碼如下:
$sql="SELECT * FROM test WHERE id = ' ".$id." 'pass= ' ".$passwd." ' ";
如果有人在pass裡面輸入 ' or '1'='1
那這樣不就會變
$sql="SELECT * FROM test WHERE id = ' test 'pass= ' ' or '1'='1 ' ";
所以我們把程式碼改成
$sql="SELECT * FROM test WHERE id = ' ".mysql_real_escape_string($id)." 'pass= ' ".mysql_real_escape_string($passwd)." ' ";
這樣就不怕有心人了