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);