Php 初学者的好奇心

Php 初学者的好奇心,php,mysql,Php,Mysql,我有一个问题。我通过命令行将一个长文本变量类型LONGTEXT放入MYSQL数据库。在这篇文章的某个地方有一个标签,在文章的末尾有一个标签。如果我在id=1的mytable中键入SELECT*,整个文本将按原样显示,因此它是不变的:两个和都在那里。但当我通过php提交查询时,如下所示: if (mysql_num_rows($result) > 0) { while($row = mysql_fetch_row($result)) { echo $row[1]; } }

我有一个问题。我通过命令行将一个长文本变量类型LONGTEXT放入MYSQL数据库。在这篇文章的某个地方有一个标签,在文章的末尾有一个标签。如果我在id=1的mytable中键入SELECT*,整个文本将按原样显示,因此它是不变的:两个和都在那里。但当我通过php提交查询时,如下所示:

if (mysql_num_rows($result) > 0) {
  while($row = mysql_fetch_row($result)) {
    echo $row[1];
  }
}

然后,文本在我的网页上完全按照我的要求显示,这意味着浏览器将标记作为换行符处理,而忽略部分。这正是我想要的。但我的问题是:为什么不通过浏览器处理零件??PHP的echo函数是否忽略了在新的空浏览器窗口中尝试此操作:

javascript:document.write('<b>hello <?php ?> is here!</b>');
然后打开firebug/inspector。 在safari中,该内容似乎被解释为/转换为注释


PHP响应您向它抛出的任何内容。如果要执行长文本,请使用eval;如果要正确显示,可以使用函数,例如。

,因为回显字符串与计算字符串不同


PHP生成HTML,然后由浏览器进行处理。但是,包含PHP代码的字符串将不会被计算,除非您特别通过eval提示:不要

浏览器不处理PHP。这是一种服务器端技术


您的PHP正在从数据库中读取一些文本并将其输出到浏览器。文本中包含的字符串似乎不清楚。什么是。。。你认为它忽略了什么?它显示了什么?一些代码没有出现,现在它的fixedIf浏览器将评估PHP代码,我们都将受到影响;@kolink正确地说,你不应该这样做,因为这是一个主要的安全漏洞载体。安全使用它是可能的,但如果可能的话应该避免。那么安全评估的例子是什么?上面的代码实际上正是我想要的;我不想让phpinfo执行,我只是好奇为什么它会被忽略。但既然您提到eval可以安全使用,我也对这个例子感到好奇。