-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 に答える