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

时间:2012-11-08 12:29:44

标签: php html sql database escaping

  

可能重复:
  Difference between single quote and double quote string in php

嘿,我在将页面内容插入数据库时​​遇到了麻烦。

我正试图存储:

<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[data]

3 个答案:

答案 0 :(得分:0)

您的问题与PHP在“(双)引号”中处理变量的事实有关。

您可以将引号更改为“(单个)或其他选项,即将$Topic2C2A[data]更改为\$Topic2C2A[data]

答案 1 :(得分:0)

我建议你把$ sql写成:

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

答案 2 :(得分:0)

你试过mysqli_real_escape_string()吗?它应该返回一个完全转义的字符串!