这是我输入的代码......
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
”,但是当我进入数据库时,我可以检索我插入的字符串。发生了什么?谢谢。
答案 0 :(得分:16)
那是因为您的浏览器认为<ssst
是一个html标记。您应该对输出进行编码
while($row = mysql_fetch_array($result)) {
echo $row['id'] . " ---- " . htmlspecialchars($row['string']);
echo "<br />";
}
使用htmlspecialchars编码输出