【问题标题】:PHP/HTML ~> href link from mysql fetchPHP/HTML ~> 来自 mysql fetch 的 href 链接
【发布时间】:2016-08-18 19:33:30
【问题描述】:

我正在尝试为表中的每个项目设置一些链接到该行的 url 列的文本。我尝试了以下方法,它根本不起作用,只是给了我一个白屏。

echo "<br><a href=\"$row["pageLINK"]\">". $row["pageNAME"]. "</a><br>";

但另一方面,下面的代码运行良好。

echo "<br><a href=\"http://www.google.com\">". $row["pageNAME"]. "</a><br>";

这可能是一件非常简单的事情,但我刚刚进入 php,所以任何形式的帮助都将不胜感激。

【问题讨论】:

  • 任何半体面的 IDE 都会告诉您为什么代码无法工作,即使您想使用文本编辑器而不是 IDE 错误报告也会告诉您同样的情况。我的建议:开发时同时使用。
  • \"$row["pageLINK"]\" 不起作用,你要么需要做 \"".$row["pageLINK"]."\" 要么 \"{$row["pageLINK"]}\"

标签: php html mysql echo href


【解决方案1】:

引用数组索引时,不能在回显中使用引号。

这一行:

echo "<br><a href=\"$row["pageLINK"]\">". $row["pageNAME"]. "</a><br>";

应该是这样的:

echo "<br><a href='$row[pageLINK]'> $row[pageNAME]</a><br>";

或者你可以使用引号和括号,比如e4c5's answer

【讨论】:

  • 这很好用而且超级干净!为什么不需要数组索引周围的任何引号,即 pageLINK ?
  • 这是一个 PHP 规则。如果没有转义,带引号的字符串中的引号将关闭该字符串。您的问题可以通过许多不同的方式解决,但这是最简单和最常见的一种。如果你有一个空白页,这意味着你可能关闭了错误报告。如果它们被打开,您将立即看到问题。 Turn them on :)
【解决方案2】:

首先你必须在开发线上PHP Error Reporting,比如:

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

// Report all PHP errors (see changelog)
error_reporting(E_ALL);

你的代码有语法错误,解决方法:

echo "<br><a href='".$row['pageLINK']."''>". $row['pageNAME']. "</a><br>";

旁注: PHP 错误报告将显示所有错误而不是空白页。

【讨论】:

    【解决方案3】:
    echo '<br><a href="'.$row["pageLINK"].'">'. $row["pageNAME"]. '</a><br>';
    

    试试这个

    【讨论】:

      猜你喜欢
      • 2011-10-20
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 2015-12-16
      • 2013-11-21
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      相关资源
      最近更新 更多