0

完整错误:

解析错误:语法错误,第 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>

我该如何解决这个问题?

4

2 回答 2

2

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

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

尝试:

$query = "SELECT account_type,rank FROM users WHERE username= '$username'";
于 2013-11-14T18:17:35.320 回答
0

连接查询和 时没有点$username

$query = "SELECT account_type,rank FROM users WHERE username= "$username";
于 2013-11-14T18:17:58.717 回答