为什么这个PHP代码会产生解析错误

时间:2011-04-10 17:06:05

标签: php

对于我的迷你论坛,我有一个“主题”表,其中包含字段id(int),title(txt)和post(txt),我试图让用户根据他们点击的主题看到不同的页面topicPage.php:

  <?
//send a query to retrieve all titles from the topics database
$query = "SELECT * FROM topics" ;
$result = mysql_query($query) or die ("something went wrong with this query");

    ?>

<span class="subtext">  <?
while($row = mysql_fetch_array($result))
{
echo "<a href = 'topicPage.php?tid=$row['id']'>" .$row['title']. " </a>"." <br>" ." <br>";

}
?>

我在echo函数的行上得到了一个解析错误。

这是确切的错误:

  

解析错误:语法错误,意外T_ENCAPSED_AND_WHITESPACE,预期第85行/index.php中的T_STRING或T_VARIABLE或T_NUM_STRING

4 个答案:

答案 0 :(得分:5)

以下部分:

echo "<a href = 'topicPage.php?tid=$row['id']'>";

太复杂了


您必须使用Complex (curly) syntax

帮助PHP找出变量是什么
echo "<a href = 'topicPage.php?tid={$row['id']}'>";

答案 1 :(得分:2)

使用单引号这类问题很少出现:

echo '<a href="topicPage.php?tid='.$row['id'].'">'.$row['title'].'</a><br /><br />';

此外,您不需要像这样连接<br />标签,您可以在一大块字符串中提供它们。

答案 2 :(得分:0)

以与$row['id']相同的方式对待$row['title']

答案 3 :(得分:0)

echo "<a href = 'topicPage.php?tid=" . $row['id'] . "'>" .$row['title']. " </a>"." <br>" ." <br>";

尽量保持同样的风格......