我正在提出一个新问题,因为另一个问题处于非活动状态,并且已经发生了很大变化。我的数据库代码是这样的:

$sql2="INSERT INTO $tbl_name(s_id, s_name, s_email, s_content)VALUES('$id', '$s_name', '$s_email', '$s_content')";
$result2=mysql_query($sql2);

if($result2){
echo "Successful<BR>";

}
else {
echo "ERROR";
}


我可以输入字母数字,但不能输入'或'-我如何使用mysql_real_escape_string()解决此问题?

最佳答案

您应该使用mysql_real_escape_string在查询内部或外部对字符串变量进行转义:

$name    = mysql_real_escape_string($s_name);
$email   = mysql_real_escape_string($s_email);
$content = mysql_real_escape_string($s_content);

$sql2 = "INSERT INTO $tbl_name(`s_id`, `s_name`, `s_email`, `s_content`) \n";
$sql2.= "VALUES('$id', '$name', '$email', '$content')";

10-06 10:17