试图将HTML输入数据库

时间:2011-09-12 09:53:02

标签: php mysql

  

可能重复:
  Best way to stop SQL Injection in PHP

我有一段代码将代码输入数据库。

代码:

$database->sendUserMessage("You have a new profile comment", "To view your new profile comment, go to your <a href='profile.php?id=$user#comments'>profie</a>.", $user);

INSERT INTO ".TBL_MESSAGES." VALUES (NULL, '$title', '$message', '2', '$user', '0', '0', '0', '0', '0', NULL, NULL, NULL, NULL, now())

我遇到的问题是当尝试将HTML传递给查询并执行时,它将不会执行。但是,如果我删除HTML,查询工作正常。

有解决方法吗?

感谢。

2 个答案:

答案 0 :(得分:1)

你必须逃脱你'

mysql_real_escape_string($html)

整个背景:

mysql_query("INSERT INTO ".TBL_MESSAGES." VALUES (NULL, '".mysql_real_escape_string($title)."', '".mysql_real_escape_string($message)."', '2', '$user', '0', '0', '0', '0', '0', NULL, NULL, NULL, NULL, now()");

答案 1 :(得分:1)

您正在注入自己的数据库! 你需要用他们的html实体等效替换's。 (使用mysql_real_escape_string函数)