1

更新: '' の提案は $username の周りで機能しました。ありがとう!しかし、現在、テーブルは実際には $lastLoginTime から更新されていません。

私のクエリには、私の人生では理解できないような問題があり、停止しています。

コードを見てみましょう。

function checkTOS($preusergrab){
include("includes/opendb.php");

$query = "SELECT * FROM users WHERE username='".$preusergrab."'";
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_assoc($result)){
    $resultset[] = $row;
    $TOS = $row['acceptTOS'];
    }

mysql_free_result($result);

 if($TOS == 1){
 // return to processor

    $lastLoginTime = time();

    $query = mysql_query("UPDATE users 
                    SET lastLoginTime = '$lastLoginTime' 
                        WHERE username = $username");

                        if (!$query) {

             die('<br>Invalid query: ' . mysql_error());
            }


 }elseif($TOS == 0 || $TOS = ''){
    header("Location: http://partner.domain.com/terms.php?action=show");
    die();
}else{
echo 'Internal Application Error:';
echo 'Value unrecognizable.';
echo '<br>Please alert someone at user@domain.com';
die();
}
 }

さて、問題が発生するのはこのセクションです。

    $lastLoginTime = time();

    $query = mysql_query("UPDATE users 
                    SET lastLoginTime = '$lastLoginTime' 
                        WHERE username = $username");

                        if (!$query) {

             die('<br>Invalid query: ' . mysql_error());
            }

次のように述べています。

   Invalid query: Unknown column 'theuser' in 'where clause'

この場合、「theuser」は $preusergrab が表すユーザーです。

私のテーブルでは、ユーザー名が主キーの行 0 です。

行が存在し、他のすべてが機能することがわかっている場合、何が無効になる可能性がありますか?

4

3 に答える 3

2

しようとする

$query = mysql_query("UPDATE users 
                SET lastLoginTime = '$lastLoginTime' 
                    WHERE username = '$username'");
于 2012-05-14T14:27:30.683 に答える
1

そのはず:

WHERE username = '$username'"); 

$username' 変数の前後に追加したアポストロフィに注意してください。

于 2012-05-14T14:27:37.170 に答える
0

$username を引用するのを忘れたと思います。'$username' のように引用します。

$query = mysql_query("UPDATE users 
SET lastLoginTime = '$lastLoginTime' 
WHERE username = '$username'");

if (!$query) {
die('<br>Invalid query: ' . mysql_error());
}
于 2012-05-14T14:34:22.860 に答える