你总不可能对每一个这样的特殊字符都人工进行转义,何况你通常处理的都是表单自动提交的内容。
所以,应该使用mysql_real_escape_string函数:
mysql_real_escape_string ― 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集。
但是注意:该函数并不转义 % 和 _。另外,最好不要对整条sql语句使用该函数,而是只转义传入sql语句的字符串参数,否则会发生意想不到的结果。
脚本举例:
<?php
$item = "Zak's and Derick's Laptop";
$escaped_item = mysql_real_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?>