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

问题描述 投票:0回答:2

完整的错误。

解析错误:语法错误,在homeu572186424public_htmlsafe.php第56行出现意外的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 syntax
2个回答
2
投票

语法高亮显示给你看。 问题是这里多了一个引号""。

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

试试吧

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

0
投票

当你连接查询和... ...时,没有点。$username:

$query = "SELECT account_type,rank FROM users WHERE username= "$username";
© www.soinside.com 2019 - 2024. All rights reserved.