我收到此错误: Parse error: syntax error, unexpected $end in /home/a1633717/public_html/members.php on line 59
当我检查代码时,我找不到任何错误。这是代码:
<?php
session_start();
require 'database.php';
$nuser=$_SESSION['user'];
$auser=$_SESSION['admin'];
if($nuser){
$userfinal=$nuser;
} elseif($auser) {
$userfinal=$auser;
}
if(isset($userfinal)) {
$Members = mysql_query("SELECT user FROM characters WHERE level ='1' ORDER BY exp
DESC") or die(mysql_error());
$numRowsMembers = mysql_num_rows($Members);
?>
<table border="0">
<?php
for($count = 1; $count <= $numRowsMembers; $count++)
{
$name = mysql_fetch_array($Members);
?>
<tr>
<?php
echo '<td><a href="member_profile.php?username=' . $name['user'] . '">' . name['user'] . '</a></td>';
?>
</tr>
<?php
}
?>
</table>
错误在底部,当我查看它时,我没有看到错误。我该如何解决这个问题?我更改了 php 的顺序,但什么都没有。提前致谢
很简单。
数一数你的{
,然后数一数你的}
。它们不匹配。
编写带有适当缩进的代码会让您非常明显地看到这一点。
您的if(isset($userfinal))
尚未关闭。你需要关闭这个 if 循环。
这通常意味着您忘记关闭括号,在这种情况下,您忘记关闭 if: if(isset($userfinal)){
只需在您需要的地方添加另一个闭合括号(可能在最后一个闭合括号之后,因此:
</tr>
<?php
}
?>
</table>
<?php
} // Closure of the if
?>
你永远不会关闭:
if(isset($userfinal)){
我认为您希望在文件末尾显示以下内容:
<?php
}
?>
</table>
<?php
}
?>
这是您的代码全部修复:
<?php
session_start();
require 'database.php';
$nuser = $_SESSION['user'];
$auser = $_SESSION['admin'];
if($nuser) {
$userfinal = $nuser;
} elseif($auser) {
$userfinal = $auser;
}
if(isset($userfinal)) {
$Members = mysql_query("SELECT user FROM characters WHERE level ='1' ORDER BY exp DESC") or die(mysql_error());
$numRowsMembers = mysql_num_rows($Members);
?>
<table border="0">
<?php
for($count = 1; $count <= $numRowsMembers; $count++) {
$name = mysql_fetch_array($Members);
?>
<tr>
<?php
echo '<td><a href="member_profile.php?username=' . $name['user'] . '">' . $name['user'] . '</a></td>';
?>
</tr>
<?php } ?>
</table>
<?php } ?>
正确缩进和间距将在未来有所帮助。
您似乎没有关闭if
块。