无法将内容插入数据库,需要帮助转义PHP代码

无法将内容插入数据库,需要帮助转义PHP代码,php,html,sql,database,escaping,Php,Html,Sql,Database,Escaping,可能重复: 嘿,我在将页面内容插入数据库时遇到问题 我正在尝试存储: <p class=\"heading_large\"><?php echo $Topic2C2A[data]; ?></p> 使用此代码: $sql="UPDATE event SET data='<p class=\"heading_large\"><?php echo $Topic2C2A[data]; ?></p>' WHERE id

可能重复:

嘿,我在将页面内容插入数据库时遇到问题

我正在尝试存储:

<p class=\"heading_large\"><?php echo $Topic2C2A[data]; ?></p>
使用此代码:

$sql="UPDATE event SET 
  data='<p class=\"heading_large\"><?php echo $Topic2C2A[data]; ?></p>' 
  WHERE id='2'";
但当我看桌子时,我看到的是:

<p class="heading_large"><?php echo ; ?></p>

很明显,我用斜杠跳过了HTML,我是否需要用PHP做类似的事情,以便显示$Topic2C2A[数据]?

您的问题与PHP处理双引号内的变量有关


您可以将引号更改为“单引号”,或者另一个选项是将$Topic2C2A[data]更改为\$Topic2C2A[data]。

我建议您将$sql编写为:

$sql="UPDATE event SET data='<p class=\"heading_large\">".$Topic2C2A[data]."</p>' WHERE id='2'";

你试过mysqli\u real\u escape\u string吗?它应该返回一个完全转义的字符串

你为什么要把PHP代码存储在那里?为什么不先将数据放在一个带引号的字符串变量中?为什么不使用适当的数据库转义函数呢?data='

'$主题2C2A[数据]。'

“应该会更好。