mysql教程 mysql_escape_string與 mysql_real_escape_string區別
mysql_real_escape_string這個函數是要連接數據庫教程後才能使用的,而mysql_escape_string則沒有此要求,但並不轉義 % 和 _。
mysql_real_escape_string() 函數轉義 sql 語句中使用的字符串中的特殊字符。
下列字符受影響:
x00
n
r
'
"
x1a
如果成功,則該函數返回被轉義的字符串。如果失敗,則返回 false。
*/
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
or die(mysql_error());// query
$query = sprintf("select * from users where user='%s' and password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
/*
注: mysql_escape_string() 並不轉義 % 和 _。
本函數和 mysql_real_escape_string() 完全一樣,除了 mysql_real_escape_string() 接受的是一個連接句柄並根據當前字符集轉移字符串之外。mysql_escape_string() 並不接受連接參數,也不管當前字符集設定。
*/
$item = "zak's laptop";
$escaped_item = mysql_escape_string($item);
printf ("escaped string: %sn", $escaped_item);