为什么我的php无法打印出我输入的字符串?

时间:2011-03-27 08:53:09

标签: php mysql html

这是我输入的代码......

mysql_query("INSERT INTO test (string) VALUES ('tes><ssst')");    

这就是我查询结果的方法:

$result = mysql_query("SELECT * FROM test");     

while($row = mysql_fetch_array($result))
  {
  echo $row['id'] . " ---- " . $row['string'];
  echo "<br />";
  }   

但我只得到这个结果:

  

3 ---- tes&gt;

我想念缺失的部分:“<ssst”,但是当我进入数据库时​​,我可以检索我插入的字符串。发生了什么?谢谢。

1 个答案:

答案 0 :(得分:16)

那是因为您的浏览器认为<ssst是一个html标记。您应该对输出进行编码

while($row = mysql_fetch_array($result)) {
  echo $row['id'] . " ---- " . htmlspecialchars($row['string']);
  echo "<br />";
} 

使用htmlspecialchars编码输出