-1

大家好,我有一个问题......这是我的代码;功能是检查用户是否激活了他/她的帐户:

function is_active($username)
{
    $username=mysql_real_escape_string($username);
    require "dbc.php";
    $sql="SELECT COUNT users_temp,user_id 
            FROM users1 AS s1
            INNER JOIN users_temp AS s2
            ON users1,id = users_temp,user_id
            WHERE users1,username='{$username}'";

    $result=mysql_query($sql);

    if (!$result)
    {
        die(mysql_error());
    }

    return(mysql_result($result,0) == '0')? true : false;
}

当我运行它时,我收到以下错误消息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'username='yu'' at line 5

我看不出我哪里出错了。这可能是一个小错误,但如果有人能帮助我,那就太好了!

4

5 回答 5

1

您应该使用点 (.) 来分隔表名和列名,而不是逗号

$sql="SELECT COUNT(users_temp.user_id) 
        FROM users1 AS s1
        INNER JOIN users_temp AS s2
        ON users1.id = users_temp.user_id
        WHERE users1.username='{$username}'";
于 2013-09-28T11:56:54.610 回答
1

尝试这个

$sql="SELECT COUNT (users_temp.user_id) 
        FROM users1 AS s1
        INNER JOIN users_temp AS s2
        ON s1.id = s2.user_id
        WHERE users1.username = '$username'";
于 2013-09-28T12:01:58.257 回答
0

您不能使用单引号来引用 MySQL 中的字段。

于 2013-09-28T11:56:44.403 回答
0

您的错误在这里:

WHERE users1,username='{$username}'.

改为这样做:

WHERE users1.username='$username'

或这个 :

WHERE users1.username='".$username."'
于 2013-09-28T12:01:35.800 回答
0

你有用户1,用户名。那是错的。

   $sql="SELECT COUNT users_temp,user_id 
    FROM users1 AS s1
    INNER JOIN users_temp AS s2
    ON users1,id = users_temp,user_id
    WHERE s1.username='$username'";

我希望这能帮到您 。

于 2013-09-28T12:06:11.863 回答