PHP语法错误...意外T_VARIABLE?

时间:2013-11-14 18:16:04

标签: php syntax

完整错误:解析错误:语法错误,第56行/home/u572186424/public_html/safe.php中的意外T_VARIABLE

我一直盯着第56行而无法弄清楚......

     exit();

整个文件如下:

<?php include_once("connect.php"); ?>
<?
$sql = "SELECT * FROM users WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."'";
$query = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_object($query);
$id = htmlspecialchars($row->id);
$userip = htmlspecialchars($row->userip);
$username = htmlspecialchars($row->username);
$password = htmlspecialchars($row->password);
$account_type = htmlspecialchars($row->account_type);
$money = htmlspecialchars($row->money);
$exp = htmlspecialchars($row->exp);
$req_exp = htmlspecialchars($row->req_exp);
$level = htmlspecialchars($row->level);
$health = htmlspecialchars($row->health);
$max_health = htmlspecialchars($row->max_health);
$lastactive = htmlspecialchars($row->lastactive);
$energy = htmlspecialchars($row->energy);
$max_energy = htmlspecialchars($row->max_energy);
$will = htmlspecialchars($row->will);
$max_will = htmlspecialchars($row->max_will);
$brave = htmlspecialchars($row->brave);
$max_brave = htmlspecialchars($row->max_brave);
$strength = htmlspecialchars($row->strength);
$agility = htmlspecialchars($row->agility);
$guard = htmlspecialchars($row->guard);
$labor = htmlspecialchars($row->labor);
$iq = htmlspecialchars($row->iq);
$rank = htmlspecialchars($row->rank);
?>
<?php
$sql = "SELECT * FROM sitestats WHERE id='1'";
$query = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_object($query);
$admins = htmlspecialchars($row->admins);
$mods = htmlspecialchars($row->mods);
$hdo = htmlspecialchars($row->hdo);
$admins_ip = htmlspecialchars($row->admins_ip);
$mods_ip = htmlspecialchars($row->mods_ip);
$admin_array = explode("-", $admins);
$mod_array = explode("-", $mods);
$hdo_array = explode("-", $hdo);
$admin_ip_array = explode("-", $admins_ip);
$mod_ip_array = explode("-", $mods_ip);
?>
<html>
<body>
<?
if(isset($_SESSION['user_id'])) {
 $sql = "UPDATE users SET lastactive=NOW() WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."'";
  mysql_query($sql);
}else{
   header("Location: logout.php");
     exit();  //ERROR HERE
}
$query = "SELECT account_type,rank FROM users WHERE username= "$username";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
if($row['account_type'] == 1){
$row['rank'] = "Player";
$rank = "Player";
}elseif($row['account_type'] == 2){
$row['rank'] = "VIP";
$rank = "VIP";
}elseif($row['account_type'] == 3){
$row['rank'] = "HDO";
$rank = "HDO";
}elseif($row['account_type'] == 4){
$row['rank'] = "Moderator";
$rank = "Moderator";
}elseif($row['account_type'] == 5){
$row['rank'] = "Admin";
$rank = "Admin";
}elseif($row['account_type'] == 6){
$row['rank'] = "Owner";
$rank = "Owner";
}
?>
</body>
</html>

顺便说一句,如果您无法分辨,此代码是用PHP编写的。请帮忙!谢谢!

2 个答案:

答案 0 :(得分:2)

语法高亮显示给您。问题是额外的引用“这里:

$query = "SELECT account_type,rank FROM users WHERE username= "$username";

尝试:

$query = "SELECT account_type,rank FROM users WHERE username= '$username'";

答案 1 :(得分:0)

连接查询和$username时没有任何点:

$query = "SELECT account_type,rank FROM users WHERE username= "$username";