PHP Parse错误在线不存在

时间:2012-05-17 17:27:43

标签: php mysql parsing

我在下面代码的第17行得到一个解析错误,但代码只有16行。我已经尝试重命名源文件并将其复制并粘贴到一个没有变化的新文件中。

我是PHP的新手,所以我可能会遗漏一些基本知识。谢谢你的帮助。

<?php
mysql_connect("host","username","password") or die(mysql_error());
mysql_select_db("frog") or die(mysql_error());

// Construct our join query
$query = "SELECT family.position, food.meal ".
 "FROM family, food ".
     "WHERE family.position = food.position";

$result = mysql_query($query) or die(mysql_error());

// Print out the contents of each row into a table
while($row = mysql_fetch_array($result)) {
    echo $row['position']. " - ". $row['meal'];
    echo "<br />";
?>

3 个答案:

答案 0 :(得分:3)

您缺少while语句}的结束花括号。

while($row = mysql_fetch_array($result)) {
    echo $row['position']. " - ". $row['meal'];
    echo "<br />"
} // <-- This curly braces was missing

为了避免此类错误,使用具有语法突出显示功能的IDE 会更好。

如果你怀疑它的括号不平衡,这个命令会派上用场。

 tr -cd '{}[]()' < source.file | wc -c

如果输出是奇数,则会出现不平衡的paranthesis

答案 1 :(得分:2)

你的while循环缺少结束}

如果您收到错误消息,指出文件末尾超出了某个问题,那么几乎总是因为您错过了在某个地方关闭括号。

答案 2 :(得分:0)

第17行之前一行的语法错误将导致解析错误。

此外,此声明的结束括号在哪里?

while($row = mysql_fetch_array($result)) **{**     echo $row['position']. " - ". $row    ['meal'];     echo "<br />"; ?>