PHP中的MySQL转义码简介(php转义mysql)

MySQL转义码是PHP中专门为MySQL解释器提供的字符,主要用于转义特殊字符,比如单引号,双引号,反斜线,NUL等,以防止MySQL查询字符出现语法错误。

MySQL转义码可以使MySQL语句被准确执行,并且为了提高查询结果的精度,典型的MySQL转义码比如单引号,双引号,反斜线,NUL,等都是需要被转义的。对于特殊字符,MySQL转义码会将它们转义成一个可以被MySQL处理器接受的字符。如:

单引号 : \’

双引号 : \”

反斜杠 : \\

NUL : \0

PHP提供了一个mysql_real_escape_string()函数,可以将字符串中用于MySQL的特殊字符转义成合法的字符。它用于将某一段字符串中的特殊字符转义成可以对MySQL系统安全地存储的字符,下面是一个简单的应用:

//将字符串转义,防止语法错误

$special_str = “what’s wrong with you?”;

$str = mysql_real_escape_string($special_str);

echo $str; //输出 what\’s wrong with you?

?>

mysql_real_escape_string()函数会自动将特殊字符转义,但它不会转义单独的反斜线字符,可以使用addcslashes()函数来手动转义单独的反斜线,例如:

//将字符串转义,防止语法错误

$special_str = “what’s wrong with you? \\”;

$str = addcslashes(mysql_real_escape_string($special_str), “\\”);

echo $str; //输出 what\’s wrong with you? \\\\

?>

总而言之,MySQL转义码可以使MySQL查询字符出现语法错误。PHP提供了mysql_real_escape_string()函数以便于编码或者转义特殊字符,它可以将字符串中用于MySQL的特殊字符转义成合法的字符,而addcslashes()函数可以用于转义单独的反斜线。


数据运维技术 » PHP中的MySQL转义码简介(php转义mysql)