我有以下问题。我通过命令行将长文本(变量类型 LONGTEXT)放入 MYSQL 数据库。在本文的某处有一个 <br>
标记,在文本末尾附近有 <?php phpinfo(); ?>
.如果我输入 SELECT * FROM mytable WHERE id=1
,整个文本按原样显示,所以它没有改变(阅读:<br>
和 <?php phpinfo(); ?>
都在那里。但是当我通过 php 提交查询时,如下所示:
if (mysql_num_rows($result) > 0) {
while($row = mysql_fetch_row($result)) {
echo $row[1];
}
}
然后文本完全按照我想要的方式显示在我的网页上,这意味着 <br>
标记被浏览器处理为换行符,并且 <?php phpinfo(); ?>
部分被忽略。这正是我想要的。但我的问题是:为什么不 <?php phpinfo(); ?>
部分通过浏览器处理?? PHP 的 echo 函数是否忽略 <?php
标签??
提前感谢您的解释。
最佳答案
因为回显字符串与评估字符串不同。
PHP 生成 HTML,然后由浏览器处理。但是,除非您专门通过 eval()
将其放入,否则不会评估包含 PHP 代码的字符串(提示:不要!)
关于php - 初学者的好奇心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9151843/