1

我在数据库上保存 $p 有一个问题。如果我保存 $_POST["content"] 未修改,它就可以工作。但是如果我用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");
4

2 回答 2

4

您不想在更新数据库之前去掉斜杠,您实际上想要做相反的事情。我会推荐

$p=mysql_real_escape_string($_POST["content"]);
于 2012-10-05T18:47:28.197 回答
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_*您编写更安全的代码。

于 2012-10-05T18:46:17.990 回答