Verbatim PHP 代码适用于当前的实时站点,但不适用于新站点(本地或实时)

Posted

技术标签:

【中文标题】Verbatim PHP 代码适用于当前的实时站点,但不适用于新站点(本地或实时)【英文标题】:Verbatim PHP code works on current, live site, but not new site (local or live) 【发布时间】:2013-02-09 20:34:37 【问题描述】:

mysql

服务器:mysql.mysite.com 通过 TCP/IP 服务器版本:5.1.56-log 协议版本:10 用户:username@__.dreamhost.com MySQL 字符集: UTF-8 Unicode (utf8)

网络服务器

Apache MySQL 客户端版本:5.1.66 php 扩展:mysql

phpMyAdmin

版本信息:3.3.10.4

我现在不知所措。确切的代码目前在实际网站上工作,但不适用于我正在设计的新网站。

<table>
    <tr bgcolor="#CCCCCC">

    <th>###</th>
    <th>Year</th>
    <th>Make</th>
    <th>Model</th>
    <th>Description</th>
    <th>Mileage</th>
    <th>Price</th>
    </tr>
<?

  $host = "mysql.mysite.com";
  $user = "username";
  $pass = "password";
  $dbname = "database";

  $connection = mysql_connect($host,$user,$pass) or die (mysql_errno().": ".mysql_error()."<BR>");
  mysql_select_db($dbname);

  $sql = "SELECT * FROM vehicles WHERE sold='n' ORDER BY year DESC";

  $query = mysql_query($sql);

  while ($row = mysql_fetch_array($query))  

    echo "<tr>
      <td></td>
      <td>",$row['year'],"</td>
      <td>",$row['make'],"</td>
      <td>",$row['model'],"</td>
      <td>",$row['dscrpt'],"</td>
      <td>",$row['miles'],"</td>
      <td>",'$',$row['price'],"</td>
      </tr>";
  
  ?> 
</table>

我在网站上收到以下结果,无论是在本地还是在服务器上加载时:

"); mysql_select_db($dbname); $sql = "SELECT * FROM Vehicles WHERE sold='n' ORDER BY year DESC"; $query = mysql_query($sql); while ($row = mysql_fetch_array($query)) echo ""; ?>

年份 品牌 型号 描述 里程价格 ",$row['year']," ",$row['make']," ",$row['model']," ",$row['dscrpt' ]," ",$row['miles']," ",'$',$row['price'],"

我尝试了其他一些方法,包括 mysqli 方法,但它们都产生了相同的结果。任何连接都没有改变,当前连接/网页仍然返回数据。我正在疯狂地查看代码并使用不同的代码得到相同的结果。

【问题讨论】:

您的新网站可能禁用了短开放标签。使用&lt;?php 而不是&lt;? 我实际上注意到在发布后并尝试了 或者你的新网站根本没有解析 PHP。 哇……好吧。我想到了。我不得不将文件扩展名从 html 更改为 PHP。我在本地测试了 PHP,它只显示代码,我一定没有在服务器上测试过。一旦我将它加载到服务器并将扩展名更改为 PHP,它就会显示行。我花了太多时间试图弄清楚这一点。 【参考方案1】:

使用&lt;?php 代替短开标签&lt;?

【讨论】:

短开标签在输出文本时仍然有用,例如`= '你好世界' ?>'。您可以从 php.ini、short_open_tag 选项 (php.net/manual/en/ini.core.php) 中打开它们。 或者只使用 PHP 5.4,其中 &lt;?= 始终可用,无论设置如何。 我实际上注意到在发布后并尝试了 @khaos PHP 是否启用? 好的,所以在我进行本地和服务器测试的过程中,我必须将文件扩展名更改为 HTML。 PHP 没有在本地显示,我必须更改扩展名。我觉得真的很可怕,我花了这么长时间才弄清楚。但我确实在代码中发现了其他需要改进的地方。感谢您的帮助!

以上是关于Verbatim PHP 代码适用于当前的实时站点,但不适用于新站点(本地或实时)的主要内容,如果未能解决你的问题,请参考以下文章

当您使用“badidea”或“thisisunsafe”绕过 Chrome 证书/HSTS 错误时,它是不是仅适用于当前站点? [关闭]

标头位置不适用于实时服务器,但适用于 localhost

配置rsync+inotify实现站点文件实时同步

php 检查当前请求是否适用于Dingo / API。

PHP获取当前URL路径的处理(适用于多条件筛选列表)

PHP:包含适用于Dev和Live的路径