我有一个问题,在数据库上保存$ p。如果我保存$ _POST [“内容”]未修改它的工作原理。 但如果我用stripslashes修改它是行不通的。我不明白原因。
$_POST["content"] is text from function innerHTML
mysql_connect("XX","XX","XX");
mysql_select_db("XX");
$p=stripslashes($_POST["content"]);
mysql_query("UPDATE TEXTO SET VALOR='.$p.' WHERE id=2");
答案 0 :(得分:4)
在更新数据库之前,你不想要删除斜杠,你实际上想要做相反的事情。我会推荐
$p=mysql_real_escape_string($_POST["content"]);
答案 1 :(得分:3)
这是错误的地方:
mysql_query("UPDATE TEXTO SET VALOR='.$p.' WHERE id=2");
您不需要$p
周期。你可以这样做:
mysql_query("UPDATE TEXTO SET VALOR='$p' WHERE id=2");
或者:
mysql_query("UPDATE TEXTO SET VALOR='".$p."' WHERE id=2");
字符串周围的双引号将在评估时插入变量。
<强>然而强>
你应该真正考虑不再使用mysql_*
函数,因为它们已被弃用; PDO
或mysqli_*
都可以让您编写更安全的代码。